You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
refactor(cli): extract the shell-run hydration state machine from pi-tui-runner.ts #1412
Part of #1084 (second-pass sink-file and boundary governance). The underlying buffer primitives (ShellRunUpdateBuffer, mergeShellRunUpdate, projectShellRunUpdateForSession) and shell-run-elapsed-ticker.ts are already extracted; the runner-local state machine is not. Scope re-verified against current main (pi-tui-runner.ts, 2642 lines).
Scope
Move the hydration controller (~L456–543) into shell-run-hydration.ts:
local state: shellRunOwnerMappings, hydratingShellRunsFor, shellRunHydrationEpoch, shellRunHydrationRetryTimer, pendingShellRunUpdates
closures: applyShellRunViewUpdate, replayPendingShellRunUpdates, resetShellRunSessionState, hydrateShellRuns, and the update subscription
Expose a controller that takes driver/applyToTranscript deps; the runner keeps only wiring.
Invariants
Same as #1084: behavior-neutral; stable exports; no reverse imports; flat PR off main.
Verification
Typecheck/build + the existing behavior-driven runner tests.
Activity