debug-build focus telemetry + playtest capture, auto-published for /playtest nf-npbf ← Beads

closed priority 2 task unassigned

Twinned from https://github.com/cfsh/ninefold/issues/356 by tools/beads/import_github.py's reconcile pass.

From the /playtest workflow design with Aedan (chat, 2026-08-01; see also PR #355 — the skill this feeds).

Problem: playtest voice-dumps narrate symptoms the game knows precisely ("I can't see where my focus box is anymore… the sixth or seventh sound"). Focus is the #1 recurring defect class and is machine-detectable at runtime.

Proposal — three pieces, in value order:

  1. Focus journal (debug builds only): log every focus transition — timestamp, scene, control path, trigger (input event vs rebuild) — and loudly flag anomalies: focus→null, focus escaping the expected container, focus landing on an off-screen control. Plain JSONL to a session file.
  2. Feedback capture combo: one debug key / pad-combo that snapshots the moment — screenshot, current focus path, song/pattern state, build sha — appended to the same session folder. (Voice note optional/later.)
  3. Auto-publish: on quit (or via an f5.sh exit hook), push the session's journal + captures to the orphan screenshots branch under playtest-logs/<date>-<buildsha>/. The /playtest skill (PR #355) already checks that path: it correlates events with Aedan's dictated items by timestamp/screen, attaches evidence to routed comments, and surfaces anomalies he didn't mention.

Contract the skill expects: JSONL with t (ISO), event (focus_change | focus_lost | capture), scene, path, build; captures reference their screenshot filename alongside.

Piece 1 alone is worth shipping first — it converts the noisiest part of playtest dictation into machine evidence, and probes could also assert on it eventually (a probe run that logs focus_lost = automatic red).

Dependencies

None.

Comments

No comments.

Add a comment