Lesson 285: GameMaker October RC Branch Label Summer Freeze Receipt on BUILD_RECEIPT (2026)

Direct answer: Before July–August 2026 summer content freeze, promote october_rc_branch_label_receipt_v1.json with L1–L6—bump fest-demo-2026-10-rc*, screenshot Steamworks branch + GameMaker player footer, enumerate summer_freeze_defer_list_v1, and fail-close october_rc_label_ok on BUILD_RECEIPT so September setlive cannot ship a June label. Pair Guide #44, October RC evening, and cousin Lesson 270 (later promote rehearsal—not freeze lock).

Lesson hero for GameMaker October RC branch label summer freeze receipt

Why this matters now (July lock → October Next Fest)

July 2026 sits ~eleven weeks before October 2026 Steam Next Fest. Teams declare “content freeze Monday” while Game Options Version, Steam branch, and BUILD_RECEIPT still say june-demo. Lesson 284 closed March debrief wiring; 285 opens the October prep lane on the same RPG track—without merging February 2027-02 RC strings into October receipts.

Guide #44 is the ninety-second GameMaker paint gate; this lesson is the BUILD_RECEIPT milestone + verify script for the course project.

Beginner path (55-minute freeze lock)

Step Action Success check
1 Bump build_label to fest-demo-2026-10-rc* jq pattern pass
2 Screenshot Steamworks Branches Branch name visible
3 Set GM Version + on-screen footer Exported player matches
4 Pin both PNGs under october-rc/ Paths exist
5 Write summer-freeze defer list DEFER-00N rows
6 File receipt + run verify Exit 0
7 Latch BUILD_RECEIPT october_rc_label_ok Boolean after verify

Time: ~55 minutes first July lock; ~15 minutes when templates exist.
Prerequisites: GameMaker Steam export preset; Lesson 270 optional cousin; write access to release-evidence/steam/october-rc/.

Developer path (gates L1–L6)

Gate Check Fail when
L1 build_label matches ^fest-demo-2026-10-rc February 2027-02 string reused
L2 Steamworks branch screenshot Branch missing / typo
L3 GM Version + exported footer IDE-only version bump
L4 Evidence PNG paths Broken links after move
L5 summer_freeze_defer_list_v1.json Freeze declared with empty deferrals theater
L6 Receipt + BUILD_RECEIPT october_rc_label_ok without verify

Cross-cutting: summer_content_freeze_allowed only after october_rc_label_ok: true. Do not treat fest-day depot audit as a substitute for July freeze.

Cousin receipt crosswalk

Field Lesson 270 setlive dry-run February RC evening This lesson (285)
Schema gm_steam_setlive_dry_run_receipt_v1 february_rc_branch_label_receipt_v1 october_rc_branch_label_receipt_v1
Window Promote rehearsal Pre–Feb fest Pre–summer freeze → Oct fest
Pass field setlive_dry_run_ok February RC OK october_rc_label_ok

Reference cousins in cousin_receipts—do not flatten schemas.

L3 — GameMaker paint (course project)

  1. Game Options → General → Version = fest-demo-2026-10-rc1 (match BUILD_RECEIPT).
  2. Draw footer on boot/pause:
display_label = game_display_name + " | " + GM_version;
  1. Export Windows player—not IDE Play alone.
  2. Screenshot footer → release-evidence/steam/october-rc/label_footer_fest-demo-2026-10-rc1.png.

L5 — summer_freeze_defer_list_v1.json

{
  "schema": "summer_freeze_defer_list_v1",
  "freeze_start_utc": "2026-07-20T00:00:00Z",
  "october_rc_label": "fest-demo-2026-10-rc1",
  "deferred": [
    { "id": "DEFER-001", "item": "New biome art pass", "reason": "post-freeze September" },
    { "id": "DEFER-002", "item": "Experiment HOTFIX save wipe", "reason": "not numbered HOTFIX yet" }
  ]
}

L6 — october_rc_branch_label_receipt_v1.json

{
  "schema": "october_rc_branch_label_receipt_v1",
  "fest_window": "2026-10-next-fest",
  "build_label": "fest-demo-2026-10-rc1",
  "steam_branch": "fest-demo-2026-10-rc1",
  "engine": "gamemaker",
  "gm_version_setting": "fest-demo-2026-10-rc1",
  "evidence": {
    "branch_screenshot": "release-evidence/steam/october-rc/branch_fest-demo-2026-10-rc1.png",
    "label_screenshot": "release-evidence/steam/october-rc/label_footer_fest-demo-2026-10-rc1.png",
    "defer_list": "release-evidence/steam/october-rc/summer_freeze_defer_list_v1.json"
  },
  "cousin_receipts": {
    "setlive_dry_run": "release-evidence/steam/gamemaker-setlive/GM_STEAM_SETLIVE_DRY_RUN_RECEIPT.json"
  },
  "gates": {
    "L1_label_pattern": "pass",
    "L2_branch_shot": "pass",
    "L3_gm_footer": "pass",
    "L4_paths": "pass",
    "L5_defer_list": "pass",
    "L6_receipt": "pass"
  },
  "october_rc_label_ok": true,
  "summer_content_freeze_allowed": true
}

Pin at release-evidence/steam/october-rc/OCTOBER_RC_BRANCH_LABEL_RECEIPT.json.

BUILD_RECEIPT row

{
  "build_label": "fest-demo-2026-10-rc1",
  "october_rc_label_ok": true,
  "october_rc_branch_label_receipt": "release-evidence/steam/october-rc/OCTOBER_RC_BRANCH_LABEL_RECEIPT.json",
  "summer_content_freeze_allowed": true
}

verify_october_rc_branch_label.sh

#!/usr/bin/env bash
set -euo pipefail
REC="${1:-release-evidence/steam/october-rc/OCTOBER_RC_BRANCH_LABEL_RECEIPT.json}"
jq -e '.schema == "october_rc_branch_label_receipt_v1"' "$REC"
jq -e '.october_rc_label_ok == true' "$REC"
jq -e '.build_label == .gm_version_setting and .build_label == .steam_branch' "$REC"
jq -e '.build_label | test("^fest-demo-2026-10-rc")' "$REC"
test -f "$(jq -r '.evidence.branch_screenshot' "$REC")"
test -f "$(jq -r '.evidence.label_screenshot' "$REC")"
test -f "$(jq -r '.evidence.defer_list' "$REC")"
echo "october_rc_branch_label verify: OK"

Relationship to Guide / evening / Help / setlive

Artifact Role
Guide #44 Ninety-second GM paint + capture
October RC evening Full evening ritual
This lesson BUILD_RECEIPT milestone
Lesson 270 Later setlive dry-run
Help #43 forward Recovery after freeze broke label proof

Order: L1–L6 / evening → summer freeze merges → Lesson 270 dry-run → October upload week.

Common mistakes

  • Reusing February fest-demo-2027-02-rc* in October receipts.
  • Declaring freeze without a defer list.
  • IDE Version bump without re-export.
  • Flipping october_rc_label_ok before verify.
  • Treating Lesson 270 dry-run as freeze proof.

Troubleshooting

Symptom Lane
Wrong year in label L1 regex; October evening FAQ
Footer stale after export Re-export; Guide #44 L3
Freeze already merged, label wrong Help #43 forward
setlive blocked later Lesson 270
Partner asks “which build?” Visible footer + label opinion

Mini exercise (50 minutes)

  1. Set fest-demo-2026-10-rc1 on BUILD_RECEIPT + GM Version.
  2. Capture branch + footer screenshots.
  3. Add two DEFER rows.
  4. Intentionally mismatch gm_version_setting—confirm verify fails.
  5. Fix crosswalk; file receipt; latch october_rc_label_ok.

Key takeaways

  1. October RC ≠ February RC—different fest string and freeze defer list.
  2. october_rc_label_ok gates summer freeze—not setlive dry-run alone.
  3. Guide #44 paints; 285 promotes on BUILD_RECEIPT.
  4. Exported player footer must match Steam branch string.
  5. Empty defer list is theater—enumerate what waits until after freeze.
  6. Next March/October prep continues at Lesson 286 (wishlist velocity).

Continuity — March debrief + October prep (284–288)

Lesson Receipt focus
284 Post-fest debrief facilitator card
285 (this) GameMaker October RC branch label
286 forward Construct post-fest wishlist velocity
287 forward Unity March weekly sprint jsonl
288 forward OBS post-fest Whisper clips_index handoff

Previous: Lesson 284 — Post-fest debrief facilitator card
Next: Lesson 286 — Construct post-fest wishlist velocity (forward)

FAQ

Does 285 replace Lesson 270?
No—270 is setlive dry-run; 285 is July October RC + freeze latch.

Can Unity hybrid teams skip GM footer?
Still lock Steam branch + BUILD_RECEIPT; GM footer is required for GameMaker SKUs on this lesson.

Is Help #43 required first?
Only when freeze already broke proof—prevention is Guide #44 + this lesson.

Related GamineAI reads


Summer freeze without an October RC label ships June bytes in October—bump fest-demo-2026-10-rc*, prove GM footer + branch screenshots, file the defer list, verify, then latch october_rc_label_ok.