jackwener/maka-agent

refactor(cli): extract the shell-run hydration state machine from pi-tui-runner.ts

Chiusa

#1412 aperta il 23 lug 2026

 (0 commenti) (0 reazioni) (0 assegnatari)TypeScript (0 fork)github user discovery
enhancementgood first issue

Metriche repository

Star
 (1 stella)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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.

Guida contributor