jackwener/maka-agent

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

Fermée

#1 412 ouverte le 23 juil. 2026

 (0 commentaire) (0 réaction) (0 personne assignée)TypeScript (0 fork)github user discovery
enhancementgood first issue

Métriques du dépôt

Stars
 (1 étoile)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

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.

Guide contributeur