Autonomy Requires Visibility
Everything Claude Code (ECC) treats longer-running agent work as an operational system, not merely a longer prompt. The specific question is what an operator must be able to see, pause, verify, and recover when work spans sessions, agents, worktrees, or release artifacts. The answer is a set of local status and session contracts, explicit loop checkpoints, scoped parallelism, and conservative release evidence. These signals make a run manageable, but they do not by themselves prove that autonomous execution is safe or productive.
Security controls are only useful during a long operation if someone can tell whether they are active and whether the run is still within its intended scope. A blocked action, a stalled worker, a dirty worktree, a growing queue, and a missing approval are different states. Treating them all as “the agent is working” hides the moment when a helpful loop becomes an unmanaged process.
A long-running operation needs a visible state
ECC's session adapter contract normalizes different session sources into a canonical snapshot. A snapshot identifies the adapter, the session, its state, the repository or worktree when known, the workers involved, their lifecycle state and health, their runtime, their objective, their outputs, and their artifact paths. Aggregates count workers by state and health. The value is not the particular JSON shape; it is the decision to make session state a portable contract instead of forcing every operator surface to reverse-engineer a harness's private files.
The HUD/status contract adds the signals needed while a run is active: model and harness, repository and branch, context pressure, recent tool calls, active agents, todos, checks, cost, risk, queue state, supported session controls, and synchronization with external trackers or handoffs. A field may be unknown or unavailable. The contract explicitly prefers an unavailable signal over rendering it as green. That is a small but important safety rule: absence of evidence should not be mistaken for a healthy state.
A status payload becomes operationally useful when it connects signals to actions. High context pressure may call for a checkpoint or compaction. A repeated tool failure may call for a pause and a narrower task. A worker marked healthy but whose heartbeat has stopped may need inspection. A dirty or conflicting worktree may block a merge even if the worker reports completion. A missing GitHub or Linear connection may prevent tracker synchronization without invalidating the local handoff. Visibility is not a dashboard ornament; it is the bridge between observation and a decision about what happens next.
Consider two workers changing related parts of an authentication migration. The session view should show their objectives, branches or worktrees, active tools, checks, and remaining risks. If both workers touch the same path, the conflict is a queue and ownership problem before it is a merge problem. If one worker reports completion but its validation list is empty, the status is incomplete rather than green.