Source: v1.0.4-rc2 RRI sweep @c92a393 — the LONE persona holdout (newbie; the other 4 were clean sat-7/0-crit/no-giveup). Fails BOTH no_give_up and zero_critical (newbie's 1 crit IS this stall).
Newbie verbatim: a 2nd DM beat streamed partially ('...That's the arithmetic o') then froze mid-word; action buttons stayed disabled for 15+ min with no retry/refresh/cancel — permanently locked out → gave up.
This is the #623 deeper recovery layer (the #743 heartbeat fixed perceived hang; this is a genuine mid-stream stall with no recovery). Key hypothesis (a possible #743 interaction): the heartbeat makes a beat show 'progress' (partial stream), so if the client stuck-detector (app.jsx, #348/#399, ~180s/4min) RESETS on progress, a freeze AFTER partial progress is never detected as stuck → locked forever. Also check whether scripts/play.sh's beat-timeout + one-retry + #357 fallback fires on a stalled-mid-output beat (vs only no-output).
Fix direction: a stalled beat must ALWAYS recover within a bounded ceiling (independent of incremental progress) AND the client must offer a recovery action (re-enable controls / 'retry beat' / surface the stuck state) — never lock the player out. Fix in flight (agent → PR). Ref #623 #743.
Source: v1.0.4-rc2 RRI sweep @c92a393 — the LONE persona holdout (newbie; the other 4 were clean sat-7/0-crit/no-giveup). Fails BOTH
no_give_upandzero_critical(newbie's 1 crit IS this stall).Newbie verbatim: a 2nd DM beat streamed partially ('...That's the arithmetic o') then froze mid-word; action buttons stayed disabled for 15+ min with no retry/refresh/cancel — permanently locked out → gave up.
This is the #623 deeper recovery layer (the #743 heartbeat fixed perceived hang; this is a genuine mid-stream stall with no recovery). Key hypothesis (a possible #743 interaction): the heartbeat makes a beat show 'progress' (partial stream), so if the client stuck-detector (
app.jsx, #348/#399, ~180s/4min) RESETS on progress, a freeze AFTER partial progress is never detected as stuck → locked forever. Also check whetherscripts/play.sh's beat-timeout + one-retry + #357 fallback fires on a stalled-mid-output beat (vs only no-output).Fix direction: a stalled beat must ALWAYS recover within a bounded ceiling (independent of incremental progress) AND the client must offer a recovery action (re-enable controls / 'retry beat' / surface the stuck state) — never lock the player out. Fix in flight (agent → PR). Ref #623 #743.