Lesson 284: Post-Fest Debrief Facilitator Card Receipt on BUILD_RECEIPT (2026)

Direct answer: March 2027 Monday debrief latches when post_fest_debrief_facilitator_receipt_v1.json proves Sunday jsonl_annex[] became a printable facilitator card, annex paths still exist on disk, card hash matches, and BUILD_RECEIPT sets post_fest_debrief_card_ok: true—not when slides say “fest went well” after Lesson 283 alone.

Lesson hero for post-fest debrief facilitator card receipt

Why this matters now (Monday partner call)

March 2027 partners open Zoom after Sunday February closeout set post_fest_debrief_allowed: true. That boolean proves closeout ran—it does not prove facilitators can read annex paths without hunting release-evidence/ mid-call. Monday evening tutorial owns the full printable blocks; Guide #43 owns the ninety-second export gate—this lesson wires D1–D6 onto BUILD_RECEIPT for the RPG live-ops track.

Opens March arc 284–288 after February 277–283.

Beginner path (60-minute card + receipt)

Step Action Success check
1 Confirm Sunday closeout cousin GREEN post_fest_debrief_allowed
2 Export annex_index.json from jsonl_annex[] File exists
3 Walk every annex path (test -f) No missing OBS/pager/clips rows
4 Render five-block facilitator card Call metadata → sign-off
5 Hash the card facilitator_card_sha256
6 File post_fest_debrief_facilitator_receipt_v1.json D1–D6 pass
7 Run verify_post_fest_debrief_facilitator.sh Exit 0
8 Latch BUILD_RECEIPT post_fest_debrief_card_ok Boolean after verify

Time: ~60 minutes when Sunday annex is complete; ~75 minutes first March Monday.
Prerequisites: Lesson 283 (or honest defer); Sunday closeout receipt; jq + write access to release-evidence/post-fest/debrief/.

Developer path (gates D1–D6)

Gate Check Fail when
D1 Cousin february_fest_closeout / Sunday receipt path Capstone GREEN but closeout missing
D2 annex_index.json built from jsonl_annex[] Empty index without recovery (Help #42)
D3 Every annex path exists on disk Path moved after OneDrive KFM
D4 Facilitator card ≥5 blocks (metadata, annex table, booleans, OBS/VOD, sign-off) Narrative slides only
D5 facilitator_card_sha256 matches current card Edit after hash without re-pin
D6 Receipt filed; post_fest_debrief_card_ok Boolean flipped without verify

Cross-cutting: post_fest_debrief_allowedpost_fest_debrief_card_ok. Keep OBS / pager / clips_index annex keys on the card even if WARN—partners challenge VOD claims first.

post_fest_debrief_facilitator_receipt_v1.json

{
  "schema": "post_fest_debrief_facilitator_receipt_v1",
  "fest_window": "2027-02-next-fest-live",
  "debrief_scheduled_utc": "2027-03-02T14:00:00Z",
  "build_label": "fest-demo-2027-02-rc3",
  "cousin_receipts": {
    "february_fest_closeout": "release-evidence/february-live/FEBRUARY_FEST_CLOSEOUT_RECEIPT.json",
    "february_live_ops_truth": "release-evidence/capstone/FEBRUARY_LIVE_OPS_TRUTH_CAPSTONE.json",
    "february_pager_clip": "release-evidence/february-live/pager/FEBRUARY_PAGER_CLIP_RECEIPT.json"
  },
  "annex_index_path": "release-evidence/post-fest/debrief/annex_index.json",
  "annex_index_sha256": "a1b2c3…",
  "facilitator_card_path": "release-evidence/post-fest/debrief/post_fest_debrief_facilitator_card.md",
  "facilitator_card_sha256": "d4e5f6…",
  "obs_annex_keys": ["pager_challenge_receipt", "whisper_clips_index"],
  "gates": {
    "D1_closeout_cousin": "pass",
    "D2_annex_index": "pass",
    "D3_paths_exist": "pass",
    "D4_card_generated": "pass",
    "D5_card_hash": "pass",
    "D6_receipt": "pass"
  },
  "post_fest_debrief_card_ok": true,
  "march_sprint_planning_allowed": true
}

Pin at release-evidence/post-fest/debrief/POST_FEST_DEBRIEF_FACILITATOR_RECEIPT.json.

BUILD_RECEIPT row

{
  "post_fest_debrief_allowed": true,
  "post_fest_debrief_card_ok": true,
  "post_fest_debrief_facilitator_receipt": "release-evidence/post-fest/debrief/POST_FEST_DEBRIEF_FACILITATOR_RECEIPT.json",
  "february_live_ops_truth_ok": true
}

verify_post_fest_debrief_facilitator.sh

#!/usr/bin/env bash
set -euo pipefail
REC="${1:-release-evidence/post-fest/debrief/POST_FEST_DEBRIEF_FACILITATOR_RECEIPT.json}"
jq -e '.schema == "post_fest_debrief_facilitator_receipt_v1"' "$REC"
jq -e '.post_fest_debrief_card_ok == true' "$REC"
INDEX="$(jq -r '.annex_index_path' "$REC")"
test -f "$(jq -r '.facilitator_card_path' "$REC")"
while IFS= read -r path; do
  test -f "$path" || exit 3
done < <(jq -r '.[].path' "$INDEX")
echo "post_fest_debrief_facilitator verify: OK"

Relationship to Sunday / Guide / Help / Whisper

Artifact Role
Sunday closeout C1–C10 + jsonl_annex[] + post_fest_debrief_allowed
Monday evening tutorial Full five-block card depth
Guide #43 Ninety-second OBS annex→card preflight
This lesson BUILD_RECEIPT milestone + verify script
Help #42 Empty / broken annex path recovery
Lesson 283 February six-child truth before Monday
Guide #48 / Lesson 288 forward Whisper clips_index drain after debrief

Order: Sunday C1–C10 → Guide #43 / this D1–D6 → Monday partner call → March sprint (march_sprint_planning_allowed).

Common mistakes

  • Treating post_fest_debrief_allowed as enough for Zoom.
  • Printing a card without OBS / pager annex—partners ask for VOD first.
  • Editing the card after D5 without re-hash.
  • Absolute Windows paths on Linux CI—normalize to evidence-root relative paths.
  • Merging facilitator receipt into closeout or February capstone JSON.

Troubleshooting

Symptom Lane
Empty annex table D2 extract; Help #42
Path missing Monday Re-walk D3; KFM OBS path
Partner asks for P0 clip; card silent Add pager/clips_index key; re-run D2–D6
verify exit 3 Path walk failed—fix annex_index.json
Capstone GREEN, debrief RED Expected until this lesson files card OK

Mini exercise (70 minutes)

  1. Start from a GREEN Sunday closeout with ≥3 annex rows including one OBS pager path.
  2. Build annex_index.json; intentionally break one path—confirm D3 / verify exit 3.
  3. Restore path; render five-block card; hash; file receipt.
  4. Latch BUILD_RECEIPT post_fest_debrief_card_ok only after verify exit 0.
  5. Note October RC Lesson 285 is a separate freeze lane—do not merge schemas.

Key takeaways

  1. Closeout indexes; the card presents—D1–D6 sits between Sunday GREEN and Monday Zoom.
  2. post_fest_debrief_card_ok is distinct from post_fest_debrief_allowed and from February february_live_ops_truth_ok.
  3. OBS annex rows keep live-week VOD claims auditable.
  4. Guide #43 is the ninety-second gate; 284 is promotion wiring.
  5. Help #42 owns recovery—not a second receipt schema.
  6. March runway continues at Lesson 285 (October RC label).

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

Lesson Receipt focus
283 February live-ops truth capstone (prior arc)
284 (this) Post-fest debrief facilitator card
285 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
Arc Lessons Capstone / close
February live week 277–283 283
March debrief + October prep 284–288 Lesson 288 forward

Previous: Lesson 283 — February live-ops truth capstone
Next: Lesson 285 — GameMaker October RC branch label

FAQ

Does 284 replace Sunday closeout?
No—Sunday owns C1–C10; 284 owns facilitator card + post_fest_debrief_card_ok.

Can we skip Guide #43 if this lesson is done?
Guide is the OBS path/export preflight; lesson is BUILD_RECEIPT wiring—run both when capture paths change.

Is empty annex OK?
Only with documented recovery via Help #42—do not fake GREEN.

When does Whisper handoff start?
After Monday card when clips_index annex is honest—Guide #48 / Lesson 288.

Related GamineAI reads


Monday debrief is not Sunday closeout with slides—export annex paths, print the facilitator card, verify D1–D6, latch post_fest_debrief_card_ok, then open the partner call.