What to build
Deepen the session lifecycle status rules into a shared status-policy module. The module should answer questions such as whether a session is terminal, active, commandable, live-host eligible, or offline-replay eligible, and the existing lifecycle, inspect, and gc paths should use that module without changing public CLI JSON or human output.
Acceptance criteria
Blocked by
None - can start immediately.
What to build
Deepen the session lifecycle status rules into a shared status-policy module. The module should answer questions such as whether a session is terminal, active, commandable, live-host eligible, or offline-replay eligible, and the existing lifecycle, inspect, and gc paths should use that module without changing public CLI JSON or human output.
Acceptance criteria
SessionStatusvalue with assertions or exhaustive checks.src/host/lifecycle.ts,src/cli/commands/inspect.ts, andsrc/cli/commands/gc.tsuse the shared policy instead of local status lists for terminal/active/offline decisions.inspect,gc, and lifecycle integration tests still pass.Blocked by
None - can start immediately.