Lesson 244: Q3 Summer Playtest Capstone Receipt (2026)
Direct answer: Q3 2027 summer playtest closes when q3_summer_playtest_capstone_v1.json links eight child receipts from Lessons 236–243, proves build_label alignment across art hash, Windows audio init, save isolation, feedback taxonomy, NPC inference batch, analytics allowlist, itch WASM heap, and highlight consent, and points to Q2 capstone (235) plus H2 capstone (223) so July playtest scale is not “wave GREEN, shipping or fest hardening RED.”

Why this matters now (July 2027 playtest scale gate)
July 2027 producers filed eight playtest receipts—sprite sheet hash, Wwise DSP init, Godot save isolation, Steam feedback tags, Sentis NPC batch, Construct analytics, itch WASM heap cap, OBS clip consent—but partners still ask: “Is this build_label safe to invite five hundred playtesters on Steam + itch?” Thursday BUILD_RECEIPT review needs one Q3 Capstone section, not eight Discord threads.
This lesson closes arc 236–244 (same pattern as Lesson 235 Q2 capstone). Pairs FMOD playtest snapshot spot preflight, 18 playtest feedback tools, and Wednesday demo smoke.
Beginner path (60-minute capstone audit)
| Step | Action | Success check |
|---|---|---|
| 1 | Collect eight receipt paths from Lessons 236–243 | Files exist |
| 2 | Verify same build_label on Q3 row |
S9 crosswalk GREEN |
| 3 | Confirm sheet_hash_ok |
Lesson 236 |
| 4 | Confirm dsp_plugins_ok |
Lesson 237 |
| 5 | Confirm save isolation promotion_allowed |
Lesson 238 |
| 6 | Confirm taxonomy_ok |
Lesson 239 |
| 7 | Confirm Sentis batch promotion_allowed |
Lesson 240 |
| 8 | Confirm Construct analytics promotion_allowed |
Lesson 241 |
| 9 | Confirm WASM heap promotion_allowed |
Lesson 242 |
| 10 | Confirm highlight_concat_ok |
Lesson 243 |
| 11 | Link Q2 + H2 capstone pointers | S10 pass |
| 12 | File q3_summer_playtest_capstone_v1.json |
S1–S11 pass |
Time: ~60 minutes when child lessons done; 90 minutes first full Q3 audit.
Developer path (gates S1–S11)
| Gate | Check | Fail when |
|---|---|---|
| S1 | sprite_sheet_hash_receipt_v1 pass |
Wrong combat frames on playtest build (Lesson 236) |
| S2 | wwise_dsp_init_receipt_v1 pass |
AK::SoundEngine::Init fails on Windows playtest depot (Lesson 237) |
| S3 | playtest_save_isolation_receipt_v1 pass |
Playtest branch loads fest saves (Lesson 238) |
| S4 | playtest_feedback_tag_receipt_v1 pass |
Discord vs survey label drift (Lesson 239) |
| S5 | sentis_npc_batch_receipt_v1 pass |
8 GB playtest OOM on NPC inference (Lesson 240) |
| S6 | construct_playtest_analytics_receipt_v1 pass |
GA4 funnel PII leak (Lesson 241) |
| S7 | wasm_heap_cap_receipt_v1 pass |
itch tab dies at 20 min (Lesson 242) |
| S8 | playtest_clip_consent_receipt_v1 pass |
Highlight reel without consent log (Lesson 243) |
| S9 | build_label crosswalk |
Mismatched labels across Q3 receipts |
| S10 | q2_spring_fest_capstone_v1 + h2_fest_hardening_capstone_v1 linked |
May shipping or October hardening unknown |
| S11 | q3_summer_playtest_capstone_v1.json |
q3_summer_playtest_promotion_allowed: false |
Child receipt crosswalk
| Lesson | Receipt schema | Typical path | Pass field |
|---|---|---|---|
| 236 | sprite_sheet_hash_receipt_v1 |
release-evidence/art/SPRITE_SHEET_HASH_RECEIPT.json |
sheet_hash_ok |
| 237 | wwise_dsp_init_receipt_v1 |
release-evidence/audio/WWISE_DSP_INIT_RECEIPT.json |
dsp_plugins_ok |
| 238 | playtest_save_isolation_receipt_v1 |
release-evidence/saves/PLAYTEST_SAVE_ISOLATION_RECEIPT.json |
promotion_allowed |
| 239 | playtest_feedback_tag_receipt_v1 |
release-evidence/playtest/PLAYTEST_FEEDBACK_TAG_RECEIPT.json |
taxonomy_ok |
| 240 | sentis_npc_batch_receipt_v1 |
release-evidence/ai/SENTIS_NPC_BATCH_RECEIPT.json |
promotion_allowed |
| 241 | construct_playtest_analytics_receipt_v1 |
release-evidence/html5/CONSTRUCT_PLAYTEST_ANALYTICS_RECEIPT.json |
promotion_allowed |
| 242 | wasm_heap_cap_receipt_v1 |
release-evidence/phaser/WASM_HEAP_CAP_RECEIPT.json |
promotion_allowed |
| 243 | playtest_clip_consent_receipt_v1 |
release-evidence/playtest/vod/PLAYTEST_CLIP_CONSENT_RECEIPT.json |
highlight_concat_ok |
S2 cousin note: Lesson 226 wwise_dsp_packaged_receipt_v1 is Q1 inventory—capstone checks 237 init path only.
S8 cousin note: Lesson 224 MKV gap recovery may be n/a per clip—capstone checks 243 consent manifest, not reencode schema.
q3_summer_playtest_capstone_v1.json
{
"schema": "q3_summer_playtest_capstone_v1",
"build_label": "summer-playtest-2027-rc1",
"arc_lessons": ["236", "237", "238", "239", "240", "241", "242", "243", "244"],
"receipts": {
"236": "sprite_sheet_hash_receipt_v1.json",
"237": "wwise_dsp_init_receipt_v1.json",
"238": "playtest_save_isolation_receipt_v1.json",
"239": "playtest_feedback_tag_receipt_v1.json",
"240": "sentis_npc_batch_receipt_v1.json",
"241": "construct_playtest_analytics_receipt_v1.json",
"242": "wasm_heap_cap_receipt_v1.json",
"243": "playtest_clip_consent_receipt_v1.json"
},
"receipt_paths": {
"236": "release-evidence/art/SPRITE_SHEET_HASH_RECEIPT.json",
"237": "release-evidence/audio/WWISE_DSP_INIT_RECEIPT.json",
"238": "release-evidence/saves/PLAYTEST_SAVE_ISOLATION_RECEIPT.json",
"239": "release-evidence/playtest/PLAYTEST_FEEDBACK_TAG_RECEIPT.json",
"240": "release-evidence/ai/SENTIS_NPC_BATCH_RECEIPT.json",
"241": "release-evidence/html5/CONSTRUCT_PLAYTEST_ANALYTICS_RECEIPT.json",
"242": "release-evidence/phaser/WASM_HEAP_CAP_RECEIPT.json",
"243": "release-evidence/playtest/vod/PLAYTEST_CLIP_CONSENT_RECEIPT.json"
},
"prior_arc_pointers": {
"q2_spring_fest_shipping": {
"lesson": "235",
"schema": "q2_spring_fest_capstone_v1",
"path": "release-evidence/capstone/Q2_SPRING_FEST_SHIPPING_CAPSTONE.json",
"required_for_q3_promotion": true
},
"h2_fest_hardening": {
"lesson": "223",
"schema": "h2_fest_hardening_capstone_v1",
"path": "release-evidence/capstone/H2_FEST_HARDENING_CAPSTONE.json",
"required_for_q3_promotion": true
}
},
"gates": {
"S1_sprite_sheet_hash": "pass",
"S2_wwise_dsp_init": "pass",
"S3_playtest_save_isolation": "pass",
"S4_playtest_feedback_tags": "pass",
"S5_sentis_npc_batch": "pass",
"S6_construct_playtest_analytics": "pass",
"S7_wasm_heap_cap": "pass",
"S8_playtest_clip_consent": "pass",
"S9_build_label_crosswalk": "pass",
"S10_prior_capstones_linked": "pass",
"S11_capstone": "pass"
},
"q3_summer_playtest_promotion_allowed": true
}
Pin under release-evidence/capstone/Q3_SUMMER_PLAYTEST_CAPSTONE.json.
BUILD_RECEIPT capstone row
| Column | Source |
|---|---|
sprite_sheet_hash |
Lesson 236 |
wwise_dsp_init_receipt |
Lesson 237 |
playtest_save_isolation |
Lesson 238 |
playtest_feedback_tag_ok |
Lesson 239 |
sentis_npc_batch |
Lesson 240 |
construct_playtest_analytics |
Lesson 241 |
wasm_heap_cap |
Lesson 242 |
playtest_clip_consent_ok |
Lesson 243 |
q3_summer_playtest_capstone |
This lesson |
q2_spring_fest_capstone |
Lesson 235 pointer |
h2_fest_hardening_capstone |
Lesson 223 pointer |
CI verify_q3_summer_playtest_capstone_v1 fails when q3_summer_playtest_promotion_allowed is false and July playtest invite flag is set.
Key takeaways
- Capstone = wiring Lessons 236–243—not re-running CSP export, VM boot probes, or ffmpeg concat from scratch.
build_labeljoins art, audio, saves, tags, AI batch, analytics, WASM, and VOD rows (S9).- Lesson 237 ≠ 226—init path vs packaged inventory (S2).
- Lesson 239 taxonomy feeds triage for 241
analytics_piiand 242wasm_heap_captags—do not fork emoji strings. - Lesson 240 batch receipt stays separate from Lesson 216 deploy schema (S5).
- Lesson 243 blocks public reels without
highlight_concat_ok—stereo WAV metadata alone is insufficient (S8). - Lesson 235 Q2 still required—July playtest on a depot that failed May shipping fails partner audit (S10).
- Lesson 223 H2 still required—fest hardening baseline (S10).
- Q3 arc 236–244 closed — Course-Planner refill required for next live-ops wave.
- Thursday review lists 236–243 pass/fail in one Q3 Capstone section.
- FMOD playtest snapshot spot preflight is optional WebGL audio sibling—not in this eight-pack.
- Pair Guide queue #9–16 on the next scale arc (Bevy crash label, Ren'Py save language, Unreal minidump, etc.).
- Q4 July scale close: Lesson 253 wires 245–252 with pointer back to this capstone (R10).
Common mistakes
- Filing capstone while 239
taxonomy_okis false but Discord pins look “fine.” - Promoting playtest invite while 242 20-minute heap snapshot fails.
sentis_npc_batchGREEN but 216 deploy receipt RED—batch does not replace deploy.- Different
build_labelon 241 vs 242 itch artifact. - Skipping 235 because “Q3 is a new arc.”
- Re-running sprite hash export in capstone instead of reading 236 receipt.
Troubleshooting
| Symptom | Lane |
|---|---|
| S9 label mismatch | Re-file child receipts with summer-playtest-2027-rc1 |
| S1 art fail | Lesson 236 |
| S2 audio fail | Lesson 237 |
| S3 saves fail | Lesson 238 |
| S4 tags fail | Lesson 239 |
| S5 NPC fail | Lesson 240 |
| S6 analytics fail | Lesson 241 |
| S7 WASM fail | Lesson 242 |
| S8 consent fail | Lesson 243 |
| S10 prior arc fail | Lessons 235 + 223 |
Mini exercise (85 minutes)
- Mismatch one child
build_label—confirm S9 fails. - Fix crosswalk; verify eight paths resolve.
- Confirm 243
highlight_concat_okwithout re-running ffmpeg in capstone. - Link 235 + 223 capstone JSON paths.
- File
q3_summer_playtest_capstone_v1.json. - Run Thursday review Q3 Capstone section.
Continuity — Q3 arc close (236–244)
| Lesson | Receipt focus |
|---|---|
| 236 | Sprite sheet hash |
| 237 | Wwise DSP init |
| 238 | Save isolation |
| 239 | Feedback tags |
| 240 | Sentis NPC batch |
| 241 | Construct analytics |
| 242 | WASM heap cap |
| 243 | Clip consent |
| 244 (this) | Q3 capstone |
Previous: Lesson 243 — OBS playtest clip consent
Next: Lesson 245 — Bevy playtest crash build_label receipt — Q4 scale hardening opens
Prior shipping arc: Lesson 235 — Q2 spring fest shipping capstone
Prior fest arc: Lesson 223 — H2 fest hardening capstone
FAQ
Same as Lesson 235?
235 wires 230–234 May shipping; 244 wires 236–243 June–July playtest.
Same as Lesson 229?
229 is Q1 post-fest recovery; 244 is Q3 playtest wave receipts.
Need FMOD WebGL in this capstone?
Optional sibling—FMOD playtest spot preflight + Lesson 228 for itch audio; not in the eight-pack.
Course-Planner next?
Q3 queue 236–244 is complete — Course-Planner refill required before the next go expects new lessons.
One capstone row for Q3 summer playtest—or July invites are eight receipts and zero accountability.