Lesson 265: October Ops Truth Capstone Receipt (2026)
Direct answer: October–Q4 2026 fest ops truth closes when october_ops_truth_capstone_v1.json links eleven child receipts from Lessons 254–264, proves build_label alignment across HDR captures, Deck letterbox, Weblate CSV, Addressables jq, OBS uniform + path, Bevy menu flush, UGS/OTLP diligence, CI Library cache, GameMaker partner identity, and Resolve archive handoff, and points to Q4 playtest capstone (253), Q3 summer capstone (244), and H2 fest hardening capstone (223) so October store-metadata freeze is not “254–264 GREEN, prior arcs unknown.”

Why this matters now (October fest ops gate before store-metadata freeze)
October 2026 producers filed eleven ops receipts—Resolve SDR stills, Deck Gamescope reset, Weblate UTF-8, Addressables jq, OBS uniform + KFM path, Bevy menu flush, UGS OTLP, CI cache bust, GameMaker partner, Resolve archive—but partners still ask: “Is october-fest-2026-rc4 safe to freeze store metadata?” Thursday BUILD_RECEIPT review needs one October Ops Capstone section, not eleven Discord threads.
This lesson closes arc 254–265 (same pattern as Lesson 253 Q4 playtest capstone). Pairs Guide queue #17–#27 preflights, Wednesday demo smoke, and Q4 diligence analysis.
Beginner path (75-minute capstone audit)
| Step | Action | Success check |
|---|---|---|
| 1 | Collect eleven receipt paths from Lessons 254–264 | Files exist |
| 2 | Verify same build_label on October row |
Crosswalk GREEN |
| 3 | Confirm HDR Steam capture | Lesson 254 |
| 4 | Confirm Deck aspect reset | Lesson 255 |
| 5 | Confirm Weblate CSV UTF-8 | Lesson 256 |
| 6 | Confirm Addressables jq audit | Lesson 257 |
| 7 | Confirm OBS uniform + path | Lessons 258 + 263 |
| 8 | Confirm Bevy menu flush | Lesson 259 |
| 9 | Confirm UGS OTLP + CI cache | Lessons 260 + 261 |
| 10 | Confirm GameMaker partner + Resolve archive | Lessons 262 + 264 |
| 11 | Link Q4 + Q3 + H2 capstone pointers | Prior arcs pass |
| 12 | File october_ops_truth_capstone_v1.json |
O1–O11 pass |
Time: ~75 minutes when child lessons done; ~90 minutes first full October audit.
Developer path (gates O1–O11)
| Gate | Check | Fail when |
|---|---|---|
| O1 | hdr_steam_capture_export_receipt_v1 pass |
SDR master missing (Lesson 254) |
| O2 | deck_aspect_reset_receipt_v1 pass |
Letterbox after 1440p desk play (Lesson 255) |
| O3 | weblate_csv_utf8_handoff_receipt_v1 pass |
UTF-16 Discord CSV (Lesson 256) |
| O4 | addressables_audit_jq_receipt_v1 pass |
Missing groups in inventory (Lesson 257) |
| O5 | replay_buffer_uniform_receipt_v1 pass |
Mixed OBS sample rates (Lesson 258) |
| O6 | bevy_menu_flush_receipt_v1 pass |
Menu hitch empty frame (Lesson 259) |
| O7 | ugs_otlp_diligence_receipt_v1 pass |
Privacy URL 404 / OTLP blocked (Lesson 260) |
| O8 | unity_ci_library_cache_receipt_v1 pass |
Stale Library/ cache key (Lesson 261) |
| O9 | gm_steam_partner_receipt_v1 pass |
DepotOwnedByOtherAccount (Lesson 262) |
| O10 | obs_replay_path_kfm_receipt_v1 pass |
Empty inbox after KFM (Lesson 263) |
| O11 | resolve_archive_rclone_receipt_v1 pass |
Team Drive mirror 404 (Lesson 264) |
Cross-cutting (required before capstone file): build_label matches all eleven child receipts; prior_arc_pointers link 253, 244, 223 capstone JSON paths.
Child receipt crosswalk
| Lesson | Receipt schema | Typical path | Pass field |
|---|---|---|---|
| 254 | hdr_steam_capture_export_receipt_v1 |
release-evidence/marketing-and-demo/steam/HDR_STEAM_CAPTURE_EXPORT_RECEIPT.json |
hdr_steam_capture_ok |
| 255 | deck_aspect_reset_receipt_v1 |
release-evidence/deck/DECK_ASPECT_RESET_RECEIPT.json |
deck_aspect_reset_ok |
| 256 | weblate_csv_utf8_handoff_receipt_v1 |
release-evidence/localization/WEBLATE_CSV_UTF8_HANDOFF_RECEIPT.json |
weblate_csv_utf8_ok |
| 257 | addressables_audit_jq_receipt_v1 |
release-evidence/unity/addressables-jq/ADDRESSABLES_AUDIT_JQ_RECEIPT.json |
addressables_audit_jq_ok |
| 258 | replay_buffer_uniform_receipt_v1 |
release-evidence/playtest/replay-uniform/REPLAY_BUFFER_UNIFORM_RECEIPT.json |
replay_buffer_uniform_ok |
| 259 | bevy_menu_flush_receipt_v1 |
release-evidence/bevy/menu-flush/BEVY_MENU_FLUSH_RECEIPT.json |
bevy_menu_flush_ok |
| 260 | ugs_otlp_diligence_receipt_v1 |
release-evidence/telemetry/UGS_OTLP_DILIGENCE_RECEIPT.json |
ugs_otlp_diligence_ok |
| 261 | unity_ci_library_cache_receipt_v1 |
release-evidence/unity/ci-cache/UNITY_CI_LIBRARY_CACHE_RECEIPT.json |
library_cache_bust_ok |
| 262 | gm_steam_partner_receipt_v1 |
release-evidence/steam/GM_STEAM_PARTNER_RECEIPT.json |
gm_steam_partner_ok |
| 263 | obs_replay_path_kfm_receipt_v1 |
release-evidence/playtest/replay-path/OBS_REPLAY_PATH_KFM_RECEIPT.json |
path_writable_ok |
| 264 | resolve_archive_rclone_receipt_v1 |
release-evidence/diligence/RESOLVE_ARCHIVE_RCLONE_RECEIPT.json |
archive_handoff_ok |
Order note: 263 path before 258 capture when OneDrive KFM moved folders—Guide #26 → uniform #21 → capture night.
october_ops_truth_capstone_v1.json
{
"schema": "october_ops_truth_capstone_v1",
"build_label": "october-fest-2026-rc4",
"arc_lessons": ["254", "255", "256", "257", "258", "259", "260", "261", "262", "263", "264", "265"],
"receipts": {
"254": "hdr_steam_capture_export_receipt_v1.json",
"255": "deck_aspect_reset_receipt_v1.json",
"256": "weblate_csv_utf8_handoff_receipt_v1.json",
"257": "addressables_audit_jq_receipt_v1.json",
"258": "replay_buffer_uniform_receipt_v1.json",
"259": "bevy_menu_flush_receipt_v1.json",
"260": "ugs_otlp_diligence_receipt_v1.json",
"261": "unity_ci_library_cache_receipt_v1.json",
"262": "gm_steam_partner_receipt_v1.json",
"263": "obs_replay_path_kfm_receipt_v1.json",
"264": "resolve_archive_rclone_receipt_v1.json"
},
"receipt_paths": {
"254": "release-evidence/marketing-and-demo/steam/HDR_STEAM_CAPTURE_EXPORT_RECEIPT.json",
"255": "release-evidence/deck/DECK_ASPECT_RESET_RECEIPT.json",
"256": "release-evidence/localization/WEBLATE_CSV_UTF8_HANDOFF_RECEIPT.json",
"257": "release-evidence/unity/addressables-jq/ADDRESSABLES_AUDIT_JQ_RECEIPT.json",
"258": "release-evidence/playtest/replay-uniform/REPLAY_BUFFER_UNIFORM_RECEIPT.json",
"259": "release-evidence/bevy/menu-flush/BEVY_MENU_FLUSH_RECEIPT.json",
"260": "release-evidence/telemetry/UGS_OTLP_DILIGENCE_RECEIPT.json",
"261": "release-evidence/unity/ci-cache/UNITY_CI_LIBRARY_CACHE_RECEIPT.json",
"262": "release-evidence/steam/GM_STEAM_PARTNER_RECEIPT.json",
"263": "release-evidence/playtest/replay-path/OBS_REPLAY_PATH_KFM_RECEIPT.json",
"264": "release-evidence/diligence/RESOLVE_ARCHIVE_RCLONE_RECEIPT.json"
},
"prior_arc_pointers": {
"q4_playtest_scale": {
"lesson": "253",
"schema": "q4_playtest_scale_capstone_v1",
"path": "release-evidence/capstone/Q4_PLAYTEST_SCALE_CAPSTONE.json",
"required_for_october_promotion": true
},
"q3_summer_playtest": {
"lesson": "244",
"schema": "q3_summer_playtest_capstone_v1",
"path": "release-evidence/capstone/Q3_SUMMER_PLAYTEST_CAPSTONE.json",
"required_for_october_promotion": true
},
"h2_fest_hardening": {
"lesson": "223",
"schema": "h2_fest_hardening_capstone_v1",
"path": "release-evidence/capstone/H2_FEST_HARDENING_CAPSTONE.json",
"required_for_october_promotion": true
}
},
"gates": {
"O1_hdr_steam_capture": "pass",
"O2_deck_aspect_reset": "pass",
"O3_weblate_csv_utf8": "pass",
"O4_addressables_audit_jq": "pass",
"O5_replay_buffer_uniform": "pass",
"O6_bevy_menu_flush": "pass",
"O7_ugs_otlp_diligence": "pass",
"O8_unity_ci_library_cache": "pass",
"O9_gm_steam_partner": "pass",
"O10_replay_path_kfm": "pass",
"O11_resolve_archive_rclone": "pass",
"build_label_crosswalk": "pass",
"prior_capstones_linked": "pass"
},
"october_ops_truth_promotion_allowed": true
}
Pin under release-evidence/capstone/OCTOBER_OPS_TRUTH_CAPSTONE.json.
BUILD_RECEIPT capstone row
| Column | Source |
|---|---|
hdr_steam_capture |
Lesson 254 |
deck_aspect_reset |
Lesson 255 |
weblate_csv_utf8_handoff |
Lesson 256 |
addressables_audit_jq |
Lesson 257 |
replay_buffer_uniform |
Lesson 258 |
bevy_menu_flush |
Lesson 259 |
ugs_otlp_diligence |
Lesson 260 |
library_cache_bust |
Lesson 261 |
gm_steam_partner |
Lesson 262 |
replay_path_kfm |
Lesson 263 |
resolve_archive_rclone |
Lesson 264 |
october_ops_truth_capstone |
This lesson |
q4_playtest_scale_capstone |
Lesson 253 pointer |
q3_summer_playtest_capstone |
Lesson 244 pointer |
h2_fest_hardening_capstone |
Lesson 223 pointer |
CI verify_october_ops_truth_capstone_v1 fails when october_ops_truth_promotion_allowed is false and store-metadata freeze flag is set.
Key takeaways
- Capstone = wiring Lessons 254–264—not re-exporting HDR masters, re-running jq, or re-uploading Resolve archives from scratch.
build_labeljoins store, Deck, localization, CI, playtest, telemetry, Steam, and diligence rows.- 263 before 258 capture when KFM moved OBS paths—path column independent from uniform column.
- 261 cache bust ≠ 257 jq schema—both required; do not merge receipts.
- 262 partner identity ≠ export folder sanity—separate BUILD_RECEIPT columns.
- Lesson 253 Q4 playtest still required—October ops does not replace July scale audit.
- Lessons 244 + 223 still required—prior fest hardening baseline.
- October arc 254–265 closed — Course-Create queue empty — Course-Planner refill critical.
- Thursday review lists 254–264 in one October Ops Capstone section.
- Top 20 receipts hub — map October rows beside Q4 playtest.
- Pair Guide queue #28–#37 on the next November triage wave.
- Wednesday smoke runs after Tuesday CSV jq ingest (Guide #29).
- November jq capstone sketch —
verify_november_closeout.shfor 266–275build_labelunity before Lesson 276. - Friday capstone row review — N1–N11 latch
december_freeze_allowedafter jq crosswalk.
Common mistakes
- Filing capstone while 263 RED but 258 GREEN—empty inbox breaks capture.
- Promoting metadata freeze with 262 partner fail open.
- Skipping 260 while Q4 diligence annex references telemetry.
- Merging
october_ops_truth_capstone_v1intoq4_playtest_scale_capstone_v1. - Re-running Resolve archive live copy during capstone audit—verify paths only.
Troubleshooting
| Symptom | Lane |
|---|---|
| One child RED | Open that lesson; do not waive in capstone JSON |
build_label mismatch |
Re-export child receipt on correct label |
| Prior capstone missing | 253, 244, 223 |
| Smoke RED, capstone GREEN | Wednesday smoke—separate gate |
Mini exercise (80 minutes)
- Collect eleven receipt paths; confirm each pass field GREEN.
- Run
build_labelcrosswalk across all JSON files. - Link 253, 244, 223 capstone paths.
- Intentionally omit 262—confirm capstone promotion blocked.
- Restore 262; file
october_ops_truth_capstone_v1.json. - Add BUILD_RECEIPT October Ops Capstone row for Thursday review.
Continuity — receipt arcs on BUILD_RECEIPT
| Arc | Lessons | Capstone |
|---|---|---|
| H2 fest hardening | …223 | 223 |
| Q3 summer playtest | 236–244 | 244 |
| Q4 July playtest scale | 245–253 | 253 |
| October fest ops truth | 254–265 | 265 (this) |
Previous: Lesson 264 — Resolve archive rclone receipt
Next: Lesson 266 — Whisper playtest issue tag receipt
FAQ
Does 265 replace Wednesday smoke?
No—binary smoke is a separate gate; capstone wires 254–264 receipt columns.
Can we skip 253 if 254–264 are GREEN?
No—253 documents July concurrent playtest scale; October ops adds store/CI/diligence lanes.
Where does November Guide queue #28–#37 fit?
Next ops wave after this capstone—Whisper tags, CSV jq, CI cancel, etc.
Is 265 the last lesson in the course?
Last in the October–Q4 2026 fest ops truth arc; Course-Planner refill critical for the next arc.
Where to go next
- Child lessons: 254 through 264
- Prior Q4 capstone: Lesson 253
- Thursday ritual: BUILD_RECEIPT row review
- Diligence context: Q4 publisher diligence analysis
October store-metadata freeze needs one capstone row—wire 254–264, link 253 + 244 + 223, file october_ops_truth_capstone, then freeze metadata.