jackwener/maka-agent
refactor(cli): extract the shell-run hydration state machine from pi-tui-runner.ts
已關閉
#1,412 建立於 2026年7月23日
enhancementgood first issue
倉庫指標
- 星標
- (1 顆星)
- PR 合併指標
- (PR 指標待抓取)
描述
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.