Skip to content

chore(sprint): playtest-3 audit — 6 stories under epic 37#96

Merged
slabgorb merged 1 commit intomainfrom
chore/playtest-3-audit-stories
Apr 19, 2026
Merged

chore(sprint): playtest-3 audit — 6 stories under epic 37#96
slabgorb merged 1 commit intomainfrom
chore/playtest-3-audit-stories

Conversation

@slabgorb
Copy link
Copy Markdown
Owner

Summary

Tonight's playtest surfaced a punch list of bugs from three concurrent sessions (Blutka + Orin in caverns_and_claudes/mawdeep, Felix Surrone solo in space_opera/aureate_span, plus the stalled evropi session across 6 characters). Forensic audit of the SQLite saves produced six clustered stories, all filed under epic 37 with evidence baked inline.

  • 37-36 (3pt) — Party-peer identity packet in game_state
  • 37-37 (5pt) — Sealed-letter world-state handshake between turns
  • 37-38 (5pt) — State write-back hygiene (beats/outcome/scrapbook/turn/last_seen)
  • 37-39 (5pt) — Inventory lifecycle (double-init, consume, discard, container re-pop)
  • 37-40 (5pt) — Chargen + template + slot-reuse (evropi blockers)
  • 37-41 (8pt) — State completeness bundle (10 sub-items)

31pt total. Related to in-progress 37-30 (scrapbook image_url NULL across every save — 462 render PNGs exist but aren't linked back).

Test plan

  • sprint/epic-37.yaml validates against schema (pf hooks ran)
  • All six stories addressable via pf sprint story show 37-3{6..41}

Tonight's forensic audit of the 2026-04-19 playtest (Blutka/Orin in
caverns_and_claudes/mawdeep, Felix Surrone solo in space_opera/aureate_span,
plus the stalled evropi session) surfaced ~20 distinct bugs across the save
architecture, dispatch write-backs, inventory lifecycle, chargen, and
template substitution paths. Clustered into six new stories with evidence
baked in so picking up the work does not require re-deriving the bug:

- 37-36 (3pt) Party-peer identity packet in game_state — canonical
  pronouns/race/class of other party members injected so narrator stops
  drifting Blutka he/him -> she/her across sealed-letter turns
- 37-37 (5pt) Sealed-letter world-state handshake between turns — shared
  world delta (location, encounter, adjacency) stops narrator fabricating
  physical separations like the collapsed corridor
- 37-38 (5pt) State write-back hygiene — total_beats_fired stuck at 0,
  encounter.outcome null on resolved encounters, scrapbook backfill, turn
  counter lag, NPC.last_seen_turn stale
- 37-39 (5pt) Inventory lifecycle — starting kit double-init, consumables
  not removed on use, containers re-populate on room re-entry, weapons
  keep state=Carried after explicit narrative discard
- 37-40 (5pt) Chargen + template + slot-reuse — evropi blockers: stale
  narrative surviving session reinit, NULL resolved_archetype, unresolved
  {{generated at session start}} template leak in all 6 saves, "A Human
  {class}" hardcode, notorious-party firing in solo sessions
- 37-41 (8pt) State completeness bundle — 10 sub-items: empty
  current_region, region pollution from aside text, no freetext/slug
  dedup, encounter.actors missing enemies, world_history arcs frozen at
  turn 30, tropes don't write quest_log/stakes, NPC HP 0/0, player turns
  not logged to narrative_log, world_history embeds empty, NPC
  auto-registration missing

Also surfaced but not filed (already in flight as 37-30 in_progress):
scrapbook image_url NULL across every save in every genre — 462 render
PNGs exist but none linked to their scrapbook rows.

31pt of playtest-3 fixes under epic 37.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@slabgorb slabgorb merged commit c6bb1e2 into main Apr 19, 2026
@slabgorb slabgorb deleted the chore/playtest-3-audit-stories branch April 19, 2026 20:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant