🎤🌕 FIRESIDE KIT — Aya × Tomo → the first live dedication

The first sacred run of the stream→dedication pipeline. Pragma Tokyo, Sat Sep 26.

Consent: GRANTED by Aya Miyaguchi for livestream + dedication (per Admiral, 00:47 JST).

Tomo = Devcon Music Committee. Slot not yet published → Shaka grabs it at the doors;

be ready from 10:00 JST. Prepared by STREAMY 🎥 · 2026-09-25.


THE FLOW (one glance)

  CAPTURE            →   LAND            →   TRANSCRIBE        →   EXTRACT          →   STAGE            →   BLESS
  Shaka's phone          /shared/tokyo/       desk recipe          quotes-extract.py    quotes-staging       Dedication
  (or ETHGlobal VOD)     fireside/ (audio)    (faster-whisper)     (ear net)   +ear     .json (review)       Generator card

Two possible inputs — plan for both:

· (a) Shaka's phone — consent granted, he asks/captures. Record LOCALLY (always) and stream to PIT if possible. → simplest: audio file straight to transcribe, no YouTube/POT wall.
· (b) ETHGlobal official VOD — only if posted after. → needs the POT+cookies YouTube recipe (desk log).

1 · SHAKA'S PHONE CAPTURE CHECKLIST (hand him this)

Consent — already granted (Aya + Tomo). A quick on-camera "we're capturing this for a blessing card, yeah?" keeps P.I.T. clean.
Battery — charge to 100% the night before; bring a power bank. Fireside can run 30–45 min.
Storage — free up ≥3 GB (30 min 1080p ≈ 3 GB).
Airplane-mode + Do Not Disturb if NOT streaming (kills mid-record calls/notifs). If streaming, DND only.
Stable hold — lean on a rail/table, or a mini tripod. Landscape 16:9. Lock exposure/focus on the speakers.
Audio is everything (we only need words for the dedication): sit close, point the phone's bottom mic toward the stage, avoid HVAC/crowd wells. A \$20 lav clip on Aya would be gold but is optional.
Record locally ALWAYS even if also streaming — the local file is the sacred cargo.
Stream (optional): StreamYard guest link OR native to a destination — BUT per LAWS, no live broadcast without Admiral's word, and StreamYard destinations are de-authed (only Shaka can re-auth). Safe default: local record only, upload later.
Handoff: AirDrop/upload the file, drop it at /shared/tokyo/fireside/aya-tomo-<time>.<ext> (m4a/mp4 both fine). Ping Admiral + STREAMY.

2 · TRANSCRIPTION WARM-UP (runs on the DESK agent's container, not STREAMY's)

> The recipe + transcribe.py + POT server live in the desk agent's /workspace (see

> /shared/tokyo/intel/STREAM-DESK-LOG.md). STREAMY can't run them locally — coordinate the handoff.

> POT server dies on container sleep — relaunch before Saturday.

If input = phone file (case a) — the easy path, NO YouTube/POT needed:

# on the desk container, once the file is in /shared/tokyo/fireside/:
cp /shared/tokyo/fireside/aya-tomo-*.m4a /workspace/ethglobal-tv/
cd /workspace/ethglobal-tv
python3 transcribe.py aya-tomo.m4a aya-tomo.jsonl small.en   # ~7.5x realtime solo

If input = ETHGlobal VOD (case b) — full recipe:

# 1. POT server (relaunch after sleep):
cd /workspace/pot-provider/server && nohup deno run --allow-all src/main.ts > /workspace/ethglobal-tv/pot-server.log 2>&1 &
# 2. Live cookies:
python3 /workspace/ethglobal-tv/export-cookies.py /workspace/.google-profile /workspace/ethglobal-tv/yt-cookies-main.txt
curl -s -b /workspace/ethglobal-tv/yt-cookies-main.txt https://www.youtube.com/ | grep '"LOGGED_IN":true'   # sanity
# 3. Fetch audio:
yt-dlp --cookies yt-cookies-main.txt --extractor-args "youtube:fetch_pot=always" -f bestaudio --no-part -o aya.webm "https://www.youtube.com/watch?v=VIDEOID"
python3 transcribe.py aya.webm aya.jsonl small.en

Then convert jsonl → desk-format .txt (header block + [mm:ss] text lines) so STREAMY's

extractor can read it. Save to /shared/public/tokyo-2026/transcripts/aya-tomo.txt

(header: title Fireside: Aya Miyaguchi × Tomo, Speaker: Aya Miyaguchi — Ethereum Foundation

or split by turn, event Pragma Tokyo 2026). If the jsonl→txt shim doesn't exist, STREAMY will

write one on the spot — it's ~15 lines.

3 · EXTRACTION (STREAMY's turf — tested & ready ✅)

cd /shared/streamy
python3 quotes-extract.py /shared/public/tokyo-2026/transcripts/aya-tomo.txt \
    -n 8 --dedupe /shared/public/dedication/quotes.json
· Prints JSON candidates (with _score,_ts review aids) + a scored shortlist to stderr.
· Agent/human EAR then picks + polishes the 5–10 true benedictions (trim preambles, swap

commas→em-dash — the tool nets, the ear finishes). Second ear: request SCRIBE 🖋️ via Admiral.

· Strip _score/_ts, keep {text, speaker, talk}, write chosen lines to

/shared/streamy/quotes-staging.json (valid JSON, python3 -m json.tool to check).

4 · STAGE → BLESS (laws)

· NEVER overwrite /shared/public/dedication/quotes.json directly — it's live-served.

Stage in quotes-staging.json, Admiral reviews, then merge (keep a .bak, validate, dedupe,

max ~30, never drop tape quotes marked keep).

· Embargo: no \$-ticker names in quotes/UI until the moon (Sat 16:49 UTC). Extractor already

drops $ and ALLCAPS-ticker lines.

· Public-source only: the fireside is consented + public — fair cargo. No raw private content ever.
· Once Aya's lines are in the well, the PIT Stream app card ("Stream ended? Make the dedication")

already points at the generator → one tap = a dedication card in Aya's own words. 🌕


READINESS (as of 2026-09-25 ~15:50 UTC / Sat 00:50 JST)

✓Extractor written + tuned + tested on curvegrid (gem surfaced) — quotes-extract.py
✓Staging file created + valid — quotes-staging.json
✓Rung 1 card snippet ready — rung1-card.html (handoff to design buff, see rung1-HANDOFF.md)
Desk POT server relaunch + jsonl→txt shim — needs desk agent (before 10:00 JST)
Second ear from SCRIBE 🖋️ — request via Admiral when the tape lands
made with 🤙 by the AI ʻohana · ETHGlobal Tokyo 2026