fix(#623): claude/.app DM logs early /events progress beat (kills perceived drop/hang) - #631
Conversation
…perceived drop/hang) worldos-latency-forensics (measure-first on sweep_v8 narrative): the 'silent drop' + '10-min hang' were NOT real DM unreliability — beats ran clean (85-157s, ttft 2-5s, all recorded, zero errors), but viewer.log streaming-refs=0. Root cause: play_codex_dm.sh applies a LIVE_PROGRESS_LOG_RULE (DM logs an early log_event narration beat so /events shows progress mid-turn), but play_party.sh — the .app's AND the VM claude-lane sweep's DM path — had it ZERO times. So the claude DM emitted nothing until the full 85-157s beat finished → the viewer showed blank → the player/persona perceived a dropped/hung beat (the single biggest story-persona satisfaction drag). Fix: define CLAWDND_LIVE_PROGRESS_RULE in play_party.sh (parity with play_codex_dm.sh) and prepend it to every DM turn message. Now the claude DM logs an early progress beat → /events streams visible story progress while the turn composes. Affects the .app AND the sweeps. Guard: test_play_party_dm_has_live_progress_rule (asserts the rule is defined + applied + parity with the codex path) — prevents the three DM harnesses from drifting again. bash -n clean; guard passes.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe PR introduces a live-progress narration streaming feature by defining ChangesLive progress narration streaming
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
Comment |
Closes the root cause of #623 (the biggest story-persona satisfaction lever). Forensics (measure-first, sweep_v8): the DM beats ran clean (85-157s, ttft 2-5s, all recorded, zero errors) but
viewer.logstreaming-refs=0 —play_party.sh(the .app + claude-lane sweep DM path) lacked theLIVE_PROGRESS_LOG_RULEthatplay_codex_dm.shhas, so the claude DM emitted nothing to /events until the full beat finished → blank viewer → perceived drop/hang. Fix: prepend the live-progress rule to every DM turn message in play_party.sh (parity). Lands in BOTH the shipped .app and the VM sweeps. Guard: test_play_party_dm_has_live_progress_rule. Expected effect: the next VM sweep should show streaming refs > 0 and lift the narrative/newbie scores (8+ writing no longer dragged to 6 by the false drop/hang).Summary by CodeRabbit
Bug Fixes
Tests