Local Whisper Same-Day Playtest Triage During February Fest Live Week - 2026 Strategy

Tuesday 2:15 p.m., February fest D2: #fest-live-ops reports three players soft-locked after HOTFIX-001. The pager owner is in setlive recovery mode. Someone drops forty MKV fragments into playtest-vod/inbox/ and says “run Whisper tonight.” January holiday batch strategy would schedule JB3 Thursday—but hour-three crashes need same-day P0 transcripts before the 5-night pager stand-up decides whether HOTFIX-002 ships.
February 2027 live week concentrates playtest clips during visibility spikes—not after holiday backlog drains. Teams that reuse January batch W1–W6 on fest afternoons transcribe menu tours while P0 progression locks sit unquoted until Sunday. Engineers hotfix blind; Whisper tag GitHub discipline fires on summaries without transcripts; Sunday closeout indexes an empty clips_index[] for Whisper.
This AI Integration / Workflow strategy defines same-day P0 triage during live fest: a P0-only rubric, W1–W6 live-week gates (distinct from January batch and tag-map receipts), february_live_whisper_triage_receipt_v1.json, and february_live_whisper_p0_ok on BUILD_RECEIPT—so pager, HOTFIX, and engineering lanes share quoted player words before the nightly backlog batch runs.
Non-repetition note: January batch owns holiday inbox drain order (january_whisper_batch_receipt_v1). Whisper tags owns GitHub quote-only discipline (whisper_issue_tag_receipt_v1). Local Whisper pipeline owns steady-state folder + batch nights. Tuesday CSV ingest owns async text feedback counts—not VOD transcripts. This URL owns same-day P0 Whisper during D1–D7 live week.
Pair February live week timebox, 5-night pager, HOTFIX exception opinion, Sunday closeout, Loudness spot preflight (Guide), Lesson 273, and Audacity loudness evening.
Why this matters now (February 2027 live week)
- Hour-three crashes — Hour-one funnel spikes on D1; progression bugs surface hours later—not after a three-night batch plan.
- Pager coupling — Pager P1–P5 expects quoted P0 lines at stand-up; “we’ll Whisper tonight” is not evidence.
- HOTFIX discipline — HOTFIX-001…N needs transcript proof that the reported lock matches the promoted
build_label—not facilitator paraphrase. - January batch mismatch — Holiday JB1–JB3 sizing tables assume nightly drain; live week needs ≤90-minute same-day SLA for P0 only.
- Closeout annex — Sunday C1–C10 indexes
clips_index[]from this receipt—empty same-day rows make post-fest debrief fiction.
Direct answer: During D1–D7, classify incoming clips within 30 minutes; run P0-only Whisper same-day before the next pager stand-up; file february_live_whisper_triage_receipt_v1.json with W1–W6 pass; set BUILD_RECEIPT february_live_whisper_p0_ok: true only when same-day P0 queue is empty or waived with documented deferral.
Who this strategy is for
| Audience | Outcome |
|---|---|
| Solo founder | P0-only rubric—no transcribing forty clips on fest afternoon |
| Facilitator | Same-day manifest with fest_day + build_label |
| Pager owner | Quoted lines at P2 stand-up without waiting for batch JB rows |
| Working dev | verify_february_live_whisper_triage.sh fail-closed before HOTFIX promotion |
| Producer | Partner excerpt: same-day SLA met or explicit P0 deferral |
Time: 30–90 minutes first same-day setup; 20–45 minutes per P0 spike once templates exist.
Prerequisites: ffmpeg + local Whisper; visible build label on live demo; February timebox pager lane hours reserved.
Format ladder — same cluster, different angles
| Artifact | Role | Receipt |
|---|---|---|
| This strategy | Same-day P0 Whisper during live week | february_live_whisper_triage_receipt_v1 |
| January batch | Holiday inbox nightly drain | january_whisper_batch_receipt_v1 |
| Whisper tags | GitHub quote-only issues | whisper_issue_tag_receipt_v1 |
| Audacity loudness evening | −14 LUFS spot before batch | playtest_vod_loudness_spot_receipt_v1 |
| Tuesday CSV | Async text P0/P1 counts | playtest_csv_ingest_receipt_v1 |
| Guide #35 forward | Ninety-second loudness preflight | preflight checklist |
| Course 273 forward | BUILD_RECEIPT loudness milestone | course receipt column |
Order on fest afternoon: classify P0 → loudness spot (W3) → same-day Whisper (W4) → optional tag map after transcript exists → pager stand-up.
Beginner path — P0-only same-day rubric
Step 1 — Triage inbox in 10 minutes (W1)
playtest-vod/february-live/D2/inbox/
For each new file:
| Question | P0 same-day | Defer to post-fest batch |
|---|---|---|
| Player cannot progress main quest/demo goal? | Yes | No |
| Crash or hard lock with repro clip? | Yes | No |
| “Menu looked weird” / audio nit? | No | P2/P3 |
Unknown build_label? |
Hold — fix label first | — |
Rule: Same-day lane accepts P0 only. Everything else goes to post-fest January-style batch after Sunday closeout.
Step 2 — Match BUILD_RECEIPT build_label (W2)
jq -r '.build_label' release-evidence/BUILD_RECEIPT.json
Clip manifest row must match visible label on the live demo. Mismatch → downgrade to hold until HOTFIX or promotion fixes label drift.
Step 3 — Loudness or concat gate (W3)
Before Whisper on P0 merge:
ffmpeg -i fragment_p0_01.mkv -af loudnorm=I=-14:TP=-1:LRA=11 -f null -
Or confirm concat_ok: true per OBS concat help. W3 fail → fix audio path, not ASR.
Step 4 — Run Whisper same-day (W4)
whisper fragment_p0_01_16k.wav --model medium --language en \
--output_dir playtest-vod/february-live/D2/transcripts/
Same-day SLA: transcript file exists before next pager stand-up (default same calendar day as clip arrival).
Step 5 — File receipt (W6)
./scripts/verify_february_live_whisper_triage.sh
jq -e '.february_live_whisper_p0_ok == true' \
release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json
Update BUILD_RECEIPT february_live_whisper_p0_ok and playtest_vod_p0_same_day_remaining.
Developer path — gates W1–W6
| Gate | Check | Fail when |
|---|---|---|
| W1 | same_day_manifest[] lists P0 clips for fest_day |
P0 files in inbox without manifest row |
| W2 | build_label matches BUILD_RECEIPT live row |
Label drift vs visible footer |
| W3 | loudness_spot_ok or concat_ok on P0 paths |
Whisper run on clipped/silent merge |
| W4 | transcript_path exists before pager SLA timestamp |
Stand-up references “pending Whisper” |
| W5 | p0_only_lane: true — no P1/P2 in same-day manifest |
Menu tour in same-day receipt |
| W6 | february_live_whisper_triage_receipt_v1.json filed |
february_live_whisper_p0_ok false at HOTFIX |
Align with Guide #35 loudness preflight—guide = ninety-second gate; this strategy = live-week same-day policy + BUILD_RECEIPT column.
february_live_whisper_triage_receipt_v1.json
{
"schema": "february_live_whisper_triage_receipt_v1",
"fest_window": "february-next-fest-2027-live-week",
"fest_day": "D2",
"build_label": "february-fest-2027-live-rc3",
"same_day_sla_utc": "2027-02-22T18:00:00Z",
"p0_only_lane": true,
"same_day_manifest": [
{
"fragment_id": "fragment_p0_01",
"priority": "P0",
"received_utc": "2027-02-22T14:10:00Z",
"transcript_path": "playtest-vod/february-live/D2/transcripts/fragment_p0_01.txt",
"whisper_done_utc": "2027-02-22T15:40:00Z",
"loudness_spot_ok": true,
"build_label_match": true
}
],
"deferred_to_post_fest_batch": [
{"fragment_id": "fragment_menu_12", "priority": "P3", "reason": "ui_nit"}
],
"cousin_receipts": {
"january_batch": "release-evidence/ai/JANUARY_WHISPER_BATCH_RECEIPT.json",
"csv_ingest": "release-evidence/playtest/playtest_csv_ingest_receipt_v1.json"
},
"gates": {
"W1_manifest": "pass",
"W2_build_label": "pass",
"W3_loudness_concat": "pass",
"W4_same_day_sla": "pass",
"W5_p0_only": "pass",
"W6_receipt": "pass"
},
"february_live_whisper_p0_ok": true,
"hotfix_promotion_whisper_allowed": true
}
Pin under release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json.
verify_february_live_whisper_triage.sh
#!/usr/bin/env bash
set -euo pipefail
REC="release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json"
jq -e '.schema == "february_live_whisper_triage_receipt_v1"' "$REC"
jq -e '.p0_only_lane == true' "$REC"
jq -e '.same_day_manifest | length >= 0' "$REC"
for p in $(jq -r '.same_day_manifest[].transcript_path' "$REC"); do
test -f "$p" || { echo "W4 fail: missing $p"; exit 4; }
done
jq -e '.gates.W6_receipt == "pass"' "$REC"
jq -e '.february_live_whisper_p0_ok == true' "$REC"
echo "february_live_whisper_triage verify: OK"
BUILD_RECEIPT columns (February live lane)
| Column | Source | Pass when |
|---|---|---|
february_live_whisper_p0_ok |
W6 jq | true |
playtest_vod_p0_same_day_remaining |
manifest count | 0 or documented waive |
hotfix_promotion_whisper_allowed |
receipt | true before HOTFIX-00N |
fest_live_moderation_ok |
Moderation #3 cousin | true |
P0 vs defer — decision table
| Signal | Same-day P0 | Defer post-fest |
|---|---|---|
| “Cannot finish demo after door” | Yes | — |
| “FPS dropped in menu” | No | P2 |
| Discord CSV P0 count ↑, no clip | Pair Tuesday CSV | — |
Clip without build_label screenshot |
Hold | — |
| 12 menu tour clips | No | Batch after fest |
| CUDA silent CPU fallback | Run ASR; note device: cpu in manifest |
— |
Integration with pager and HOTFIX
Pager stand-up script (D2 example)
## Fest live pager — D2 18:00 UTC
- P0 same-day Whisper: **2/2** transcripts filed (`february_live_whisper_p0_ok: true`)
- HOTFIX-001: quoted lock at 04:12 in fragment_p0_01.txt — engineering reviewing
- Deferred: 8 menu clips → post-fest batch (W5)
- Blockers: none — W4 met before stand-up
HOTFIX coupling
Before approving HOTFIX-002:
jq -r '.same_day_manifest[] | select(.priority=="P0") | .transcript_path' \
release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json
Fail-closed: no HOTFIX promotion when W4 pending—pair HOTFIX H1–H6.
jq helpers
# P0 remaining same-day
jq '[.same_day_manifest[] | select(.whisper_done_utc == null)] | length' \
release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json
# Deferred count (should be non-P0)
jq '[.deferred_to_post_fest_batch[]] | length' \
release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json
Cluster integration table (#1–#12)
| # | Sibling | How same-day Whisper uses it |
|---|---|---|
| 1 | Timebox | Pager lane hours for W4 SLA |
| 2 | Hour-one funnel | D1 spike → expect P0 clips D1–D2 |
| 3 | Moderation | Escalation templates reference transcript quotes |
| 4 | Pager | P2 stand-up consumes W4 outputs |
| 5 | setlive case study | W2 label discipline after recovery |
| 6 | Queue wall-clock | Separate from Whisper—upload vs triage |
| 7 | Stream overlay | Co-stream clips may inflate inbox—classify P3 |
| 8 | jq hourly | february_live_whisper_p0_ok is hourly diff column |
| 9 | Refund spike | Refund mornings parallel—not substitute for P0 VOD |
| 10 | HOTFIX opinion | HOTFIX blocked without W6 |
| 11 | Sunday closeout | clips_index[] annex from this receipt |
| 12 | This strategy | Same-day P0 lane closes February cluster |
Proof table
| Row | Evidence | GREEN when |
|---|---|---|
| P1 | same_day_manifest[] for fest day |
W1 pass |
| P2 | BUILD_RECEIPT build_label match |
W2 pass |
| P3 | Loudness spot or concat receipt | W3 pass |
| P4 | transcripts/*.txt before SLA |
W4 pass |
| P5 | No P1/P2 in same-day manifest | W5 pass |
| P6 | FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json |
W6 pass |
| P7 | BUILD_RECEIPT february_live_whisper_p0_ok |
Matches receipt |
Scenarios A–G
A — Three P0 clips hour three, forty P3 menu tours
Same-day manifest lists 3 P0 only; defer 40 to post-fest batch—W5 pass documents savings.
B — build_label mismatch on P0 clip
W2 fail until player sends footer screenshot—pair visible label opinion.
C — Loudness fail on merged P0
W3 blocks Whisper; run Audacity spot evening cousin.
D — Engineer wants GitHub issue before transcript
Block—pair Whisper tags human gate.
E — Discord CSV shows P0 spike, zero clips
Pair Tuesday CSV—ask facilitators for MKV before same-day Whisper.
F — Whisper finishes 10 minutes after pager stand-up
W4 fail—shift pager 30 minutes or pre-allocate timebox pager lane.
G — Sunday closeout with empty clips_index
C8 fail—this receipt’s manifest feeds Sunday closeout annex.
Comparison pack — three Whisper receipts
| Dimension | January batch | Same-day live (this) | Tag map |
|---|---|---|---|
| Schema | january_whisper_batch_receipt_v1 |
february_live_whisper_triage_receipt_v1 |
whisper_issue_tag_receipt_v1 |
| Priority scope | P0–P3 inbox drain | P0 only same-day | Quote → GitHub |
| SLA | Nightly JB rows | Same calendar day | After transcript |
| Fest phase | Pre-live holiday | D1–D7 live | Any |
| BUILD_RECEIPT column | january_whisper_batch_ok |
february_live_whisper_p0_ok |
whisper_issue_tag_ok |
Engine and tooling notes
| Engine | Same-day tip |
|---|---|
| Godot / Unity | Ask for build_label in pause menu before clip |
| GameMaker | VERSION file path in facilitator README |
| Ren'Py | config.version visible—pair Ren'Py wall-clock cousin |
| Whisper | Pin medium for dialogue; small if CPU-only same-day |
| GPU | CUDA fallback help — record device honestly |
Printable facilitator card (same-day)
## February live P0 Whisper — same-day card
1. Classify: P0 only? (progression lock / crash)
2. build_label matches BUILD_RECEIPT? (screenshot if not)
3. Loudness spot or concat_ok GREEN?
4. Run Whisper → transcripts/D{n}/
5. Update FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json
6. verify_february_live_whisper_triage.sh → exit 0
7. Post quoted line in pager thread — not paraphrase
PowerShell verify cousin (Windows facilitators)
$rec = Get-Content "release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json" | ConvertFrom-Json
if ($rec.schema -ne "february_live_whisper_triage_receipt_v1") { exit 1 }
if (-not $rec.p0_only_lane) { Write-Error "W5 fail"; exit 5 }
foreach ($row in $rec.same_day_manifest) {
if (-not (Test-Path $row.transcript_path)) { Write-Error "W4 fail: $($row.transcript_path)"; exit 4 }
}
if (-not $rec.february_live_whisper_p0_ok) { exit 6 }
Write-Host "february_live_whisper_triage verify: OK"
CI sketch — hourly BUILD_RECEIPT diff hook
Pair jq hourly J5: append a row when same-day manifest changes.
# After verify passes on fest afternoons
jq -n \
--arg ts "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
--argjson p0 "$(jq '[.same_day_manifest[]] | length' release-evidence/ai/FEBRUARY_LIVE_WHISPER_TRIAGE_RECEIPT.json)" \
'{hour_utc: $ts, february_live_whisper_p0_count: $p0, february_live_whisper_p0_ok: true}' \
>> release-evidence/february-live/february_fest_live_ops_hourly_log.jsonl
Developer note: february_live_whisper_p0_ok flipping false→true same hour is a pager signal—do not bury in weekly review only.
Post-fest batch handoff
After D7 Sunday closeout GREEN:
- Move
deferred_to_post_fest_batch[]into January-style inbox manifest. - Run January batch JB rows for P1–P3 drain.
- Keep
february_live_whisper_triage_receipt_v1.jsonread-only—post-fest edits belong injanuary_whisper_batch_receipt_v1or a new post-fest slug, not live-week schema mutation.
Rule: Same-day receipt is live-week evidence; backlog drain is post-fest operations.
Key takeaways
- Same-day P0 only—menu tours wait for post-fest batch.
february_live_whisper_triage_receipt_v1is live-week schema—not January batch.- W4 SLA before pager stand-up—transcripts are evidence, not promises.
- January batch drains holiday inbox; this strategy covers fest hour-three spikes.
- Whisper tags runs after same-day transcript exists.
- HOTFIX opinion couples to W6 before promotion.
- Sunday closeout indexes
clips_index[]from this receipt. - Guide #35 + Course 273 forward own loudness BUILD_RECEIPT cousins—not same-day policy.
FAQ
Same as January batch W1–W6?
No—January owns nightly JB drain; this URL owns same-day P0 with february_live_whisper_triage_receipt_v1.
Same as Whisper tag extraction?
Tags own GitHub quote discipline; this strategy owns when transcripts must exist during live week.
Can we run P1 same-day if we have GPU time?
W5 fail—defer P1+ to post-fest batch; protect pager focus.
Does Tuesday CSV replace Whisper?
No—CSV counts async text; pair both for fest afternoons.
What if zero P0 clips all week?
File receipt with empty same_day_manifest and february_live_whisper_p0_ok: true—document in Sunday closeout.
Course 273 when it ships?
Owns loudness spot BUILD_RECEIPT milestone—run before same-day Whisper (W3).
Guide 35 when it ships?
Ninety-second loudness preflight—cousin to W3, not replacement for W4 SLA.
February fest hour-three crashes need quoted words before the next pager stand-up—classify P0, run same-day Whisper, file february_live_whisper_triage_receipt_v1.json, and latch february_live_whisper_p0_ok before HOTFIX promotion.
February cluster #1–#12 closed. Blog-Planner refill critical on next go.
Next reads: January Whisper batch, Whisper tags strategy, 5-night pager, Sunday closeout, February timebox.