AI Integration / Workflow Jul 13, 2026

Post-Fest Whisper Batch Handoff From february_live_whisper Triage Clips Index - 2026 Strategy

2026 post-fest Whisper batch handoff strategy—clips_index from february_live_whisper triage, post_fest_whisper_handoff_receipt_v1.json, W1–W6 handoff gates, pairs February same-day and January batch cousins.

By GamineAI Team

Post-Fest Whisper Batch Handoff From february_live_whisper Triage Clips Index - 2026 Strategy

Pixel-art hero for post-fest Whisper batch handoff from February live clips index strategy 2026

Monday W10: Friday March capstone set april_content_update_allowed: true and forward_whisper_handoff to a path that does not exist yet. playtest-vod/february-live/deferred/ holds forty-seven clips someone labeled “run January batch.” January holiday batch strategy sorts by capture_date from December inbox—not by deferred_to_post_fest_batch[] rows that February same-day triage filed with fest_day and build_label lineage.

March 2027 post-fest sprint inherits clips_index[] from february_live_whisper_triage_receipt_v1.json—P1/P2/P3 clips deliberately deferred during D1–D7 so P0 could ship same-day. Teams that restart with January JB1–JB3 calendar transcribe stale menu tours while progression soft-locks from D4 wait behind holiday P2 rows. Whisper tag map opens GitHub issues on summaries without handoff transcripts; Monday debrief facilitator annex cites empty whisper_clips_index.

This AI Integration / Workflow strategy defines post-fest batch handoff: consume clips_index[] from February live-week triage, apply handoff W1–W6 gates (distinct schema from same-day and January batch), file post_fest_whisper_handoff_receipt_v1.json, set BUILD_RECEIPT post_fest_whisper_handoff_ok: true—closing March cluster #1–#12 with honest playtest drain order after capstone latch.

Non-repetition note: February same-day owns P0-only D1–D7 (february_live_whisper_triage_receipt_v1). January batch owns holiday inbox P0–P3 (january_whisper_batch_receipt_v1). Whisper tags owns GitHub quote discipline. This URL owns clips_index[] inheritance + post-fest drain order (post_fest_whisper_handoff_receipt_v1).

Pair Sunday February closeout, 7-day evidence sprint, Audacity loudness evening, Loudness preflight Guide #35, OBS clips_index handoff Guide #48, Lesson 273, and local Whisper pipeline.

Why this matters now (March 2027 post-fest sprint)

  1. deferred_to_post_fest_batch[] is the queue — February same-day triage named what to drain after fest—not a fresh inbox sort.
  2. January batch wrong schema — Holiday receipt uses inbox_manifest[] from December paths; handoff needs clips_index[] with fest_day + source_receipt.
  3. Capstone pointer — Friday March capstone forward_whisper_handoff expects this receipt before April engineering focuses on Addressables.
  4. Tag map timing — Whisper tags after handoff transcripts—not on facilitator paraphrase from live week.
  5. October prep distraction — October RC label evening competes for GPU nights—undrained clips_index[] becomes summer scope creep.

Direct answer: After March capstone GREEN, import clips_index[] from february_live_whisper_triage_receipt_v1.json (and Sunday closeout annex pointer); sort P1→P2→P3 by fest_day then priority; run loudness spot on P1/P2 batches; file post_fest_whisper_handoff_receipt_v1.json with W1–W6 pass; set post_fest_whisper_handoff_ok: true only when handoff queue is empty or waived with producer note.

Who this strategy is for

Audience Outcome
Solo founder One-week post-fest drain plan without re-inventing January calendar
Facilitator Handoff manifest with fest_day + build_label preserved
Producer Receipt proving deferred clips consumed before April content sprint
Working dev verify_post_fest_whisper_handoff.sh fail-closed before tag-map burst

Time: ~90 minutes first handoff inventory + receipt; ~45–60 minutes per GPU batch night.
Prerequisites: February same-day triage filed; Sunday closeout clips_index[] annex; March capstone forward_whisper_handoff path set.

Format ladder — Whisper cluster (four receipts)

Artifact Window Schema Primary output
January batch Holiday inbox january_whisper_batch_receipt_v1 january_whisper_batch_ok
February same-day D1–D7 P0 february_live_whisper_triage_receipt_v1 february_live_whisper_p0_ok + deferred_to_post_fest_batch[]
Post-fest handoff (this) W10–W13 March post_fest_whisper_handoff_receipt_v1 post_fest_whisper_handoff_ok
Whisper tags After transcripts whisper_issue_tag_receipt_v1 whisper_issue_tag_ok

Rule: Handoff imports February clips_index[]—does not re-scan playtest-vod/inbox/holiday-2026/ unless producer documents orphan waiver in notes.

Beginner path — handoff rubric in 30 minutes

Step 1 — Load source clips_index (W1)

jq '.deferred_to_post_fest_batch, .same_day_manifest' \
  release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json

Cross-check Sunday closeout annex whisper_clips_index path—paths must match or waiver documented.

Step 2 — Build handoff manifest (W2)

Copy into playtest-vod/post-fest/handoff-manifest-2027.md:

fragment_id fest_day priority build_label deferred_reason batch_night
fragment_menu_12 D2 P3 february-fest-2027-live-rc3 ui_nit batch_3
fragment_p1_04 D4 P1 february-fest-2027-live-rc3-hotfix1 soft_lock batch_1
fragment_p2_09 D5 P2 february-fest-2027-live-rc3-hotfix1 confusion batch_2

Drain order: P1 → P2 → P3; within priority sort fest_day ascending (earlier fest day first).

Step 3 — Reject January batch sort (W3)

January batch habit Post-fest handoff rule
Sort by capture_date only Sort by priority then fest_day
Mix holiday + fest clips Only clips_index[] rows with source: february_live
JB3 Thursday calendar Batch_1 first GPU night after capstone
Fresh inbox inventory Import deferred rows—no re-classify without facilitator note

Step 4 — Loudness before Whisper (W4)

Run Audacity loudness spot or Guide #35 preflight on P1/P2 merges:

ffmpeg -i batch_1_merged.wav -af loudnorm=I=-14:TP=-1:LRA=11 -f null -

W4 fail → fix concat path per OBS concat evening—not Whisper on silent merge.

Step 5 — Whisper batch nights (W5)

whisper batch_1_merged.wav --model medium --language en \
  --output_dir playtest-vod/post-fest/transcripts/batch_1/

Max 8 sessions per night—log batch_night on each clips_index[] row when whisper_done: true.

Step 6 — File handoff receipt (W6)

./scripts/verify_post_fest_whisper_handoff.sh
jq -e '.post_fest_whisper_handoff_ok == true' \
  release-evidence/ai/POST_FEST_WHISPER_HANDOFF_RECEIPT.json

Update BUILD_RECEIPT post_fest_whisper_handoff_ok and clips_index_remaining_count: 0.

Developer path — gates W1–W6 (handoff schema)

Gate Check Fail when
W1 clips_index[] imported from february_live_whisper_source_path Empty index without waiver
W2 Every row has fest_day, priority, build_label, fragment_id Orphan clip without manifest row
W3 drain_order is P1→P2→P3; no P3 before P1 complete January-style date-only sort detected
W4 P1/P2 rows have loudness_spot_ok or documented skip Whisper on bad audio
W5 transcript_path exists for completed rows whisper_done: true without file
W6 post_fest_whisper_handoff_receipt_v1.json filed; capstone pointer resolves forward_whisper_handoff broken

Align Lesson 273 loudness_spot_ok on BUILD_RECEIPT—lesson = milestone; this strategy = post-fest drain policy.

post_fest_whisper_handoff_receipt_v1.json (template)

{
  "schema": "post_fest_whisper_handoff_receipt_v1",
  "sprint_window": "2027-03-post-fest-sprint",
  "generated_at": "2027-03-28T10:00:00Z",
  "february_live_whisper_source_path": "release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json",
  "march_capstone_pointer": "release-evidence/post-fest/MARCH_CAPSTONE_CLOSEOUT_RECEIPT.json",
  "clips_index": [
    {
      "fragment_id": "fragment_p1_04",
      "fest_day": "D4",
      "priority": "P1",
      "build_label": "february-fest-2027-live-rc3-hotfix1",
      "deferred_reason": "soft_lock",
      "source": "february_live",
      "batch_night": "batch_1",
      "loudness_spot_ok": true,
      "whisper_done": true,
      "transcript_path": "playtest-vod/post-fest/transcripts/batch_1/fragment_p1_04.txt",
      "tag_map_done": false
    },
    {
      "fragment_id": "fragment_menu_12",
      "fest_day": "D2",
      "priority": "P3",
      "build_label": "february-fest-2027-live-rc3",
      "deferred_reason": "ui_nit",
      "source": "february_live",
      "batch_night": "batch_3",
      "loudness_spot_ok": true,
      "whisper_done": false,
      "transcript_path": null,
      "tag_map_done": false
    }
  ],
  "drain_order": ["P1", "P2", "P3"],
  "batches": [
    {
      "batch_id": "batch_1",
      "priority_lane": "P1",
      "whisper_model": "medium",
      "device": "cuda",
      "completed_utc": "2027-03-29T22:00:00Z"
    }
  ],
  "cousin_receipts": {
    "february_same_day": "release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json",
    "january_batch": "release-evidence/ai/JANUARY_WHISPER_BATCH_RECEIPT.json",
    "whisper_tags": "release-evidence/ai/WHISPER_ISSUE_TAG_RECEIPT.json"
  },
  "gates": {
    "W1": "pass",
    "W2": "pass",
    "W3": "pass",
    "W4": "pass",
    "W5": "yellow",
    "W6": "pass"
  },
  "clips_index_remaining_count": 1,
  "post_fest_whisper_handoff_ok": true,
  "notes": "P3 batch_3 scheduled W13; waiver allows handoff_ok with remaining P3 if producer sign-off attached"
}

Pin under release-evidence/ai/POST_FEST_WHISPER_HANDOFF_RECEIPT.json.

BUILD_RECEIPT row

{
  "post_fest_whisper_handoff_ok": true,
  "post_fest_whisper_handoff_receipt": "release-evidence/ai/POST_FEST_WHISPER_HANDOFF_RECEIPT.json",
  "clips_index_remaining_count": 0,
  "february_live_whisper_p0_ok": true,
  "march_capstone_closeout_ok": true
}

Fail-closed: If clips_index_remaining_count > 0 and no producer waiver in receipt notes, handoff gate fails before Whisper tag map.

verify_post_fest_whisper_handoff.sh

#!/usr/bin/env bash
set -euo pipefail
HAND="${1:-release-evidence/ai/POST_FEST_WHISPER_HANDOFF_RECEIPT.json}"
SRC="${2:-release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json}"

jq -e '.schema == "post_fest_whisper_handoff_receipt_v1"' "$HAND" || exit 1

jq -e '.february_live_whisper_source_path != null' "$HAND" || { echo "W1 fail"; exit 2; }
test -f "$SRC" || { echo "W1 fail: source missing"; exit 2; }

jq -e '
  [.clips_index[] | select(.whisper_done == true)
    | .transcript_path] | all(. != null)
' "$HAND" || { echo "W5 fail: whisper_done without transcript"; exit 5; }

jq -e '.drain_order == ["P1","P2","P3"]' "$HAND" || { echo "W3 fail: drain order"; exit 3; }

jq -e '.post_fest_whisper_handoff_ok == true' "$HAND" || exit 6
echo "post_fest_whisper_handoff verify: OK"

Exit codes: 1 schema, 2 W1 source, 3 W3 drain order, 4 W4 loudness, 5 W5 transcript, 6 W6 latch.

clips_index[] construction (from February receipt)

Merge these February same-day fields into handoff clips_index[]:

Source field Handoff column
deferred_to_post_fest_batch[].fragment_id fragment_id
deferred_to_post_fest_batch[].priority priority
fest_day from parent receipt fest_day
build_label from parent receipt build_label
deferred_to_post_fest_batch[].reason deferred_reason
constant source: "february_live"

jq import sketch:

jq -s '
  .[0] as $handoff |
  .[1] as $feb |
  $handoff | .clips_index = (
    $feb.deferred_to_post_fest_batch | map(
      . + {
        fest_day: $feb.fest_day,
        build_label: $feb.build_label,
        source: "february_live",
        whisper_done: false,
        transcript_path: null
      }
    )
  )
' POST_FEST_WHISPER_HANDOFF_RECEIPT.json FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json

For multi-day fest, slurp all D1–D7 triage receipts or use Sunday closeout consolidated clips_index[] annex—handoff W1 accepts either path if documented in february_live_whisper_source_path.

March cluster integration (closes #1–#12)

Backlog URL Handoff touchpoint
#1 Monday debrief Facilitator card whisper_clips_index annex row
#8 jq weekly March sprint diff Optional clips_index_remaining_count column
#11 Friday capstone March capstone forward_whisper_handoff → this receipt
#12 Handoff This URL W1–W6 + post_fest_whisper_handoff_ok

March cluster #1–#12 closes when this receipt is GREEN and BUILD_RECEIPT latch set—next cluster requires Blog-Planner critical refill.

Comparison pack — three Whisper strategies

Dimension January batch February same-day Post-fest handoff (this)
Queue source Holiday inbox Live-week P0 inbox deferred_to_post_fest_batch[]
Priority lanes P0–P3 all weeks P0 only same-day P1→P2→P3 drain
Sort key capture_date fest_day + P0 SLA priority + fest_day
Receipt schema january_whisper_batch_receipt_v1 february_live_whisper_triage_receipt_v1 post_fest_whisper_handoff_receipt_v1
BUILD_RECEIPT january_whisper_batch_ok february_live_whisper_p0_ok post_fest_whisper_handoff_ok
When January D1–D7 W10–W13 after capstone

Worked example — synthesized handoff week

Day Action Result
W10 Fri March capstone GREEN forward_whisper_handoff path set
W11 Mon W1 import clips_index 12 deferred rows from D2–D6
W11 Tue Batch_1 P1 Whisper 4 transcripts; W5 partial
W12 Thu Batch_2 P2 Whisper 5 transcripts
W13 Sat Batch_3 P3 + receipt clips_index_remaining_count: 0
W13 Sun Tag map on P1/P2 only Whisper tags W1–W6

Producer rule: No April feature stand-up cites “player said X” without transcript_path on handoff row.

Proof table

Evidence Proves Fail signal
february_live_whisper_source_path W1 lineage Handoff without February receipt
clips_index[] rows W2 manifest Re-invented inbox sort
drain_order W3 policy P3 before P1
loudness_spot_ok W4 audio gate Whisper on silent merge
transcript_path W5 completion whisper_done without file
Capstone pointer W6 latch chain Broken forward_whisper_handoff
verify exit 0 CI gate Verbal “backlog drained”

Scenarios A–G

ID Situation Move
A Standard post-fest drain Full W1–W6 after capstone
B Zero deferred clips clips_index: []; post_fest_whisper_handoff_ok: true with note
C Empty Sunday annex recovery Import from case study backfill paths
D Solo dev, small queue Same gates—one batch night
E Mixed holiday + fest clips Exclude holiday rows from handoff—January batch owns those
F P3 waiver at W13 notes + producer sign-off; clips_index_remaining_count may be >0
G Tag map before handoff Reject—transcripts must exist (W5)

Tag map handoff (after W5 GREEN)

Only open Whisper tag extraction when:

  1. transcript_path exists on row
  2. build_label matches current trunk or documented MERGE label
  3. Quote-only scrub passes Help #13 cousin if GitHub 422
jq -r '.clips_index[] | select(.whisper_done==true) | .transcript_path' \
  release-evidence/ai/POST_FEST_WHISPER_HANDOFF_RECEIPT.json

CI sketch (post-capstone Monday)

- name: Post-fest Whisper handoff verify
  run: |
    test -f release-evidence/post-fest/MARCH_CAPSTONE_CLOSEOUT_RECEIPT.json
    ./scripts/verify_post_fest_whisper_handoff.sh

Block whisper-tag-burst workflow unless handoff verify exit 0 or documented F-scenario waiver.

Printable facilitator card

# Post-fest Whisper handoff (after March capstone)
[ ] Capstone forward_whisper_handoff path exists
[ ] clips_index imported from February same-day (not January inbox)
[ ] Drain order P1 → P2 → P3 by fest_day
[ ] Loudness spot on P1/P2 batches
[ ] Whisper batch nights logged in receipt
[ ] post_fest_whisper_handoff_ok on BUILD_RECEIPT
[ ] Tag map only after transcript_path set
Signed: __________

Relationship to creator highlight reel (October T-90)

After engineering drain completes, creator highlight reel handoff re-sorts the same clips_index[] for press-safe B-roll—different reel_rank, same source paths. Do not skip drain and jump to highlight export without transcripts.

Outbound references

Related GamineAI reads

Key takeaways

  1. March 2027 post-fest drain inherits clips_index[] from February same-day triage—not January inbox sort.
  2. post_fest_whisper_handoff_receipt_v1.json gates W1–W6 with distinct handoff schema.
  3. post_fest_whisper_handoff_ok on BUILD_RECEIPT closes March cluster #12.
  4. Drain order P1→P2→P3 by fest_day—reject January capture_date-only calendar.
  5. March capstone forward_whisper_handoff must resolve before handoff starts.
  6. Sunday closeout annex validates clips_index[] source paths.
  7. Loudness spot (Guide #35 / Lesson 273) gates P1/P2 batches before Whisper.
  8. Whisper tags run after handoff transcripts—not before.
  9. Empty clips_index[] is valid when zero deferred clips—still file receipt.
  10. verify_post_fest_whisper_handoff.sh gives CI one exit code.
  11. P3 waiver allowed at W13 with producer notes—P1/P2 cannot waive silently.
  12. March cluster #1–#12 complete—Blog-Planner critical refill is next go when backlog hits 0.
  13. Prevention beats April GitHub issues opened on fest-week facilitator paraphrase.

FAQ

Is this the same as January batch W1–W6?

No—different schema (post_fest_whisper_handoff_receipt_v1), queue source (clips_index[]), and drain order.

Is this the same as February same-day W1–W6?

No—February owns P0 same-day; handoff owns deferred P1–P3 post-fest drain.

Can we run handoff before March capstone?

No—W6 requires capstone forward_whisper_handoff pointer GREEN.

What if deferred_to_post_fest_batch was empty?

File receipt with clips_index: [], post_fest_whisper_handoff_ok: true, clips_index_remaining_count: 0.

Does this replace Whisper tag map?

No—tag map follows handoff when transcript_path exists.

When does Blog-Planner refill trigger?

After this publish—backlog #0 triggers critical refill on next go.

RED / YELLOW / GREEN routing (W gates)

Signal Route
W1 RED Re-open February same-day or Sunday annex
W3 RED Re-sort manifest P1→P2→P3
W4 RED Loudness spot
W5 RED Complete Whisper batch before tag map
W6 RED March capstone pointer
All GREEN Set post_fest_whisper_handoff_ok; optional tag map burst

Closing

Post-fest playtest backlog is not a fresh January inbox—it is deferred_to_post_fest_batch[] with fest_day and build_label lineage from February same-day triage. After March capstone latch, import clips_index[], drain P1→P2→P3, file post_fest_whisper_handoff_receipt_v1.json, and set post_fest_whisper_handoff_ok before Whisper tag map opens GitHub. Beginners use the handoff manifest; facilitators preserve fest-day order; working devs wire verify after capstone. March cluster #1–#12 closes here—honest transcripts beat April issues built on live-week memory.