Journal events
Every event kind this console can write, what emits it, and what it means.
Why the file exists. Every event kind the console emits is a row in the table below — a
couple of hundred, and viewer/test/debug-index.test.ts pins the table against the code, so the
number is never written here to go stale; before this the five doc surfaces between them named 27. A journal is only evidence if a reader can tell
what a line means, and "grep the server for the string" is not a document — it
is the absence of one.
Two sinks, and the difference matters.
| sink | goes to | who reads it |
|---|---|---|
journal | the RUN's journal (runs/<instance>/<slug>/run-<runId>.jsonl) | the console's timeline, the phase detail, analysis/timeline.ts, and you |
log | the console's own log file | an operator debugging the console itself |
A log line is about the CONSOLE; a journal line is about the WORK. A few
kinds appear in both, and are marked both.
This table is machine-checked in BOTH directions by
viewer/test/docs-parity.test.ts: every '<phase|run|policy>.<name>' string
literal under viewer/server/ must appear here, and every row here must appear
there. Add an event without a row and the suite goes red; delete an event and
leave its row and the suite goes red the other way. That is the only thing that
keeps a list this size true.
Payload. Every entry carries at, and a phase-scoped one carries phase.
The rest is per-event; the emitting file named below is the authority on it.
| event | sink | emitted by | meaning |
|---|---|---|---|
phase.account-switch | journal | runner/runner-control.ts | The lane moved to another Claude account — which one, and whether the transcript was ported with it. |
phase.admitted | journal | runner/runner-control.ts | Admission let the phase through: it holds its lock and its scope, after this long queued. |
phase.api-retry | journal | runner/runner.ts | The CLI's own retry watchdog fired. Not work, and deliberately not productive output. |
phase.asked | journal | runner/runner-control.ts | A question was written into the session's stdin and an answer is expected back. |
phase.auto-nudge-refused | journal | runner/runner.ts | The watchdog meant to nudge and the write did not reach the child — recorded instead of the nudge, because a line claiming a nudge that never happened is the record lying. |
phase.auto-nudged | journal | runner/runner.ts | Rung 1 of a stall ladder: one line written into the open stdin. scope: 'local' marks the local-job ladder rather than the silent one. |
phase.auto-recycled | journal | runner/runner.ts | Rung 2 of the silent ladder: the child was ended and the phase re-boarded on its own session id. |
phase.awaiting-verification | journal | analysis/timeline.ts, runner/runner.ts | §Verification started. Every stall signal is suppressed until phase.verify closes it — a build is silent and fine. |
phase.brief | journal | runner/runner-loop.ts | Which boarding brief this attempt was given (fresh · resume · unblock), and what asked for it. |
phase.brief-degraded | journal | runner/runner.ts | The brief that was wanted could not be composed, and what was used instead. |
phase.checkpointed | journal | runner/runner-control.ts | The lane's state was written to disk and its child ended — the primitive under recycle, account switch and park. |
phase.closeout | journal | runner/runner-attempt.ts | A closeout session was boarded to finish a phase whose own session stopped without one. |
phase.closeout-done | journal | runner/runner-attempt.ts | That closeout ended — whether it worked, what it cost, and its last words. |
phase.closeout-frozen | journal | runner/runner-attempt.ts | The closeout did not run because the console (or the fleet) was frozen. |
phase.declaration-consumed | journal | runner/state.ts | record.declared was deleted, and under which of the four licences. The ONE writer, so a declaration cannot evaporate unexplained. |
phase.disposition | journal | runner/runner-attempt.ts | How an attempt was judged (runner/outcome.ts) and what that judgement will do next. |
phase.done | journal | analysis/timeline.ts, runner/runner-attempt.ts | The board reads this phase done. Terminal. |
phase.errand | journal | converge.ts, runner/runner-attempt.ts, runner/runner-control.ts, runner/runner.ts, service-recovery.ts, service.ts | Something a person must settle, raised against this phase. The errand's actions carry the door. |
phase.errand-cleared | journal | service-recovery.ts | A standing errand stopped being true and was retracted. |
phase.external-wait | journal | runner/runner.ts | The lane is parked because a Bash call was waiting on a clock — scope says whose, and watch any cmd: ref lifted out of a local poll loop. |
phase.failed | journal | analysis/timeline.ts, runner/runner-attempt.ts | The attempt ended red and the ladder now owns it. |
phase.gate-ai | journal | runner/runner-loop.ts | The phase's gate is one an AI session may clear, and the session was told to clear it first. |
phase.gate-delegated | journal | runner/runner-loop.ts | A HUMAN gate whose verification the operator delegated to the session (Settings ▸ Automation). |
phase.gated | journal | analysis/timeline.ts, runner/runner-loop.ts | The phase is held by a gate nobody has cleared. Terminal for this boarding. |
phase.git-strategy | journal | runner/runner-loop.ts | Which checkout the session was given — branch, worktree, PR intent — and which checkout bullet it was told (lane · mirror · run · detached · shared). |
phase.halted | journal | runner/runner.ts | The phase settled with a halt: the reason and, since P1, its KIND (phase-level halts write record.halt, run-level ones state.halt). |
phase.human-verified | journal | runner/runner.ts | A person answered the verification card themselves — their decision, and who they were. |
phase.ladder-deferred | journal | runner/runner.ts | A rung was available and deliberately not climbed, naming what is left. |
phase.ladder-extended | journal | service-recovery.ts | The phase's rung count was spent but the newest settled rung landed commits, so ONE more rung was granted (ladderExtendOnProgress, off by default; once per phase; the dollar caps stand). |
phase.ladder-skipped | journal | runner/runner.ts | No rung was climbed because auto-recovery is off for this run. |
phase.live-wall | journal | analysis/timeline.ts, runner/runner.ts | A usage wall detected on the STREAM, while the child is still running, rather than from a corpse. |
phase.liveness | journal | runner/runner.ts | A stall episode CLEARED — the card comes down, with the signals that now read healthy. |
phase.lock-cap-rearmed | journal | converge.ts, runner/runner.ts | The lock a capped waiter was queued behind is gone, so its two-hour wait starts over. |
phase.lock-debris-released | journal | runner/runner-loop.ts | A lock whose holder is provably gone was released at boarding. |
phase.lock-lost | journal | runner/runner.ts | The lease keepalive failed and this lane can no longer prove it holds its claim. |
phase.lock-race | journal | runner/runner-loop.ts | Two boardings wanted one scope and this one lost; it backs off and queues. |
phase.lock-refreshed | journal | runner/runner.ts | The lease keepalive renewed the claim. |
phase.lock-refused | journal | runner/runner-loop.ts | phase-lock.sh claim said no, and who holds it. |
phase.lock-wait-capped | journal | runner/runner-control.ts, runner/runner-loop.ts | A waiter hit the two-hour cap and parked rather than queueing for ever — for the ONE shape isCappableBlocker allows. |
phase.mcp | journal | runner/runner-attempt.ts | The MCP servers this phase was attached to. |
phase.mcp-config-failed | journal | runner/runner-attempt.ts | The MCP config for this phase could not be written; the session runs without those servers. |
phase.mcp-degraded | journal | runner/runner-loop.ts | Some named servers would not connect, so the phase boards without them and owes an errand. |
phase.mcp-preflight-parked | journal | analysis/timeline.ts, runner/runner-loop.ts | MCP policy: require and a server would not connect, so the phase parked instead of boarding. |
phase.mcp-preflight-skipped | journal | runner/runner-attempt.ts | The MCP probe itself could not run, so nothing was concluded from it. |
phase.mcp-require-timeout | journal | runner/runner-control.ts, service.ts | A require phase waited out its window for a server nobody signed in. |
phase.mcp-unmanaged | journal | runner/runner-attempt.ts | The named servers are not in this console's registry, so it attached nothing and said so. |
phase.model-differs | journal | runner/runner.ts | The model the CLI reports is not the model the phase asked for. |
phase.model-escalated | journal | runner/runner-loop.ts | The ladder moved this phase to a stronger model for the next attempt. |
phase.model-switch | journal | runner/runner-attempt.ts | The attempt's disposition moved the model mid-phase. |
phase.model-window-retry | journal | runner/runner-attempt.ts | A model-specific usage window closed and the attempt was retried on another. |
phase.model-window-wait | journal | analysis/timeline.ts, runner/runner-attempt.ts | Every model is inside its own usage window, so the phase waits for the earliest to open. |
phase.needs-human | journal | runner/runner-attempt.ts | The phase parked on something only a person can settle. |
phase.not-started | journal | analysis/timeline.ts, runner/runner-loop.ts | The boarding stopped before the session began — a gate, a lock, a preflight. |
phase.outcome | journal | runner/runner-control.ts, runner/runner.ts, service-runs.ts | A phase-outcome.sh declaration was read: what it said, and any clock it named. |
phase.outcome-ignored | journal | runner/runner-control.ts | A declaration was read and deliberately not acted on, with the reason. |
phase.outcome-lock-blocked | journal | runner/runner-attempt.ts | The session declared blocked on a lock, with the lock: ref that will free it. |
phase.outcome-needs-human | journal | runner/runner-attempt.ts | The session declared needs-human; the phase parks and the errand stands. |
phase.outcome-no-defect | journal | runner/runner-attempt.ts | A repair session found nothing wrong. Deliberately NOT fixed — and it does not retire the halt. |
phase.outcome-partial | journal | runner/runner-attempt.ts | The session declared partial: work remains, resume it rather than re-run it. |
phase.outcome-superseded | journal | runner/runner-attempt.ts | A declaration arrived about a phase the board already reads done. |
phase.pr-session | journal | runner/runner-loop.ts | A session was boarded to open the run's pull request. |
phase.pr-session-done | journal | runner/runner-loop.ts | That PR session ended — cost, turns, and what it said. |
phase.pr-session-failed | journal | runner/runner-loop.ts | The PR session threw before it could open anything. |
phase.qa-session | journal | runner/runner-attempt.ts | A fresh-context QA subagent session was boarded over this phase's diff — with the round it produces, the report it was told to write, and the brief it was sent. |
phase.qa-session-done | journal | runner/runner-attempt.ts | The QA session ended, with the verdict it recorded (or pending if it recorded none), the round and report it landed, and how many rounds this phase has now had. |
phase.qa-session-skipped | journal | runner/runner-attempt.ts | No QA session was boarded, and why. |
phase.queued | journal | runner/runner-control.ts | The phase is waiting for a scope somebody else holds, naming the head of the queue. |
phase.reboard-requested | journal | runner/runner-control.ts, service-runs.ts | Something asked for this phase to be boarded again, naming the situation and the rung. |
phase.reconciled | journal | runner/runner-base.ts, runner/runner.ts | A record was corrected against the board — the board wins over a stale checkpoint. |
phase.recovery-cancelled | journal | runner/runner-control.ts | A recovery in flight was cancelled. |
phase.repair | journal | runner/runner-control.ts | A repair session (claude -p under the run) was boarded for a rung of the ladder. |
phase.repair-done | journal | runner/runner-control.ts | That repair session ended, and whether it fixed anything. |
phase.repair-script | journal | service-recovery.ts | The deterministic repair-artefacts.sh rung ran — the free first rung, no session. |
phase.repair-skipped | journal | runner/runner-control.ts | A repair was not boarded, and why (usually a freeze). |
phase.repair-stopped | journal | runner/runner-control.ts | A repair session was stopped before it settled. |
phase.resume | journal | analysis/timeline.ts, runner/runner-attempt.ts | The phase's own session was resumed with --resume. |
phase.resume-at-boot | journal | converge.ts | The convergence loop resumed this phase when the console started. |
phase.resume-checkpoint | journal | runner/runner-attempt.ts | Which checkpointed transcript the resume attached to. |
phase.resume-done | journal | runner/runner-control.ts | A resume ended — cost, turns, last words. |
phase.resume-instruction | journal | runner/runner-control.ts | The instruction a resume was given, verbatim (capped). |
phase.retry-context | journal | runner/runner-loop.ts | How much failure context was prepended to the next attempt's prompt. |
phase.retry-override | journal | runner/runner-loop.ts | A retry carried an operator's addendum or option overrides. |
phase.retry-requested | journal | runner/runner-control.ts | Something asked for a retry, with whatever it wants changed. |
phase.retry-storm-parked | journal | runner/runner.ts | Rung 2 of the retry-storm ladder: parked on the wall, with limits.status = 'limited' so the classifier answers resource-wall:usage. |
phase.retry-storm-recycled | journal | runner/runner.ts | Rung 1 of the retry-storm ladder, on its OWN counter — a rung spent for silence is not a rung spent for a storm. |
phase.review-follow-up | journal | runner/runner-control.ts | A reviewer's requested changes were written into the phase as a follow-up. |
phase.review-held | journal | runner/runner-loop.ts | The phase is held by a reviewer's requested-changes, exactly as a person's would hold it. |
phase.review-session | journal | runner/runner-loop.ts | A reviewer session was boarded over this phase's diff (reviewEachPhase). |
phase.review-session-done | journal | runner/runner-loop.ts | The reviewer ended, with its verdict. |
phase.review-session-failed | journal | runner/runner-loop.ts | The reviewer session threw. |
phase.review-session-skipped | journal | runner/runner-loop.ts | No reviewer ran, and why. |
phase.ruling | journal | runner/runner-base.ts, service-runs.ts | A judgement the session recorded with phase-outcome.sh … ruling — what it decided and why. Never an outcome; nothing acts on it. |
phase.rung | journal | analysis/timeline.ts, runner/runner.ts, service-recovery.ts | A ladder rung was climbed: the situation it was chosen for, the rung, and the vehicle that drove it. |
phase.rung-settled | journal | service-recovery.ts | That rung's outcome, read from the session's own declaration. |
phase.rung-unavailable | journal | analysis/timeline.ts, service-recovery.ts | A rung the ladder chose that THIS console cannot drive, and what it fell back to. |
phase.session | journal | analysis/timeline.ts, runner/runner-attempt.ts, runner/runner-control.ts | A session started or ended on this lane — its id, cost and turns. |
phase.shared-checkout | journal | runner/runner-loop.ts | The phase is working in a checkout something else also holds, naming the overlapping holders. |
phase.situation | journal | runner/runner.ts, service-recovery.ts | The classifier's answer for this phase: which situation, which sub-kind, and why. |
phase.skills | journal | runner/runner-loop.ts | The skills injected into this phase's boot prompt. |
phase.skip | journal | analysis/timeline.ts, runner/runner-control.ts | The phase was skipped rather than run. Terminal for this boarding. |
phase.stall | journal | runner/runner.ts | A stall episode OPENED — one line per episode, never per tick. |
phase.stall-parked | journal | runner/runner.ts | The silent ladder is exhausted and the phase parked on an errand. |
phase.start | journal | analysis/timeline.ts, runner/runner-loop.ts | A boarding began: this phase now has a session, a lock and an attempt number. |
phase.steered | journal | runner/runner-control.ts | An instruction was written into the session's stdin — a steer, which outranks the plan for the rest of the phase. |
phase.stop-requested | journal | runner/runner-control.ts | Somebody asked this lane to stop, and who. |
phase.stopped | journal | analysis/timeline.ts, runner/runner-control.ts | The lane stopped. Terminal for this boarding. |
phase.tasks | journal | runner/runner.ts | The session's phase-tasks.sh list moved — totals and the active item. |
phase.tool-auto-granted | journal | service.ts | A card the console answered itself under a standing auto-grant setting, and at which level it was decided. |
phase.tool-denied | journal | service.ts | A tool call this console refused. rule names the line — a policy.deny rule, or in-turn-wait for the guard that refuses waiting inside a turn. |
phase.tools | journal | runner/runner.ts | Which tools the session was given at boot. |
phase.transcript-port | journal | runner/runner-attempt.ts, runner/runner.ts | A transcript was copied between accounts' config directories so a resume could find it. |
phase.verify | journal | analysis/timeline.ts, runner/runner-attempt.ts | §Verification finished. Closes the bar phase.awaiting-verification opened. |
phase.verify-command | journal | service-runs.ts | One verification command run from the console's terminal, with its exit code. |
phase.verify-in-missing | journal | runner/runner-attempt.ts | The phase's **Verify in:** resolves outside the repository root, so the root was used instead. |
phase.verify-overtaken | journal | runner/runner-attempt.ts | §Verification was red and the BOARD says the phase is done — the board overtook it. |
phase.verify-preflight | journal | runner/runner-attempt.ts | The boarding preflight's warnings about the §Verification it is about to trust. |
phase.verify-preflight-parked | journal | analysis/timeline.ts, runner/runner-loop.ts | The preflight refused to board on a §Verification it could not run. |
phase.verify-stopped | journal | runner/runner-attempt.ts | The run was stopped mid-verification; what ran, and what never did. |
phase.verify-unanswered | journal | runner/runner.ts | A verification fragment needed a person and nobody answered. |
phase.verify-unrunnable | journal | runner/runner-attempt.ts | Every verification command's lead is missing from the PATH here — a fact about the MACHINE, never a verdict about the work. |
phase.verify-waived | journal | runner/runner-attempt.ts | The plan states no §Verification and allowUnverifiedPhases is on: the phase boarded (stage: preflight) and passed on its handoff alone (stage: verify), instead of parking. |
phase.wait-budget-spent | journal | service-runs.ts | This phase has spent its allowance of waits; the next one will not be granted. |
phase.wait-resume | journal | analysis/timeline.ts, runner/runner-loop.ts | A parked phase's window elapsed (or its watch landed) and it is coming back. |
phase.waiting | journal | analysis/timeline.ts, runner/runner-attempt.ts, service-runs.ts | The phase parked with a clock — declared or automatic — naming the window and any watch refs. |
phase.watch-checked | journal | watch-scheduler.ts | A watch ref was probed and its state changed. Written on TRANSITION only. |
phase.watch-landed | journal | service-recovery.ts | A watch ref landed. Written once, on the declaration it answers. |
phase.watch-refused | journal | watch-scheduler.ts | The policy judged a cmd: ref and will judge it identically for ever, so it is journalled once and dropped from the rotation. Terminal for that ref. |
phase.worktree | journal | runner/runner-loop.ts | A lane worktree was created for this phase, and on which branch. |
phase.worktree-adopted | journal | runner/runner-control.ts | An existing lane worktree was picked up rather than created. |
phase.worktree-failed | journal | runner/runner-loop.ts | The lane worktree could not be created; the phase degrades to the shared checkout. |
phase.worktree-landed | journal | runner/runner-loop.ts | The lane branch was merged back into the run branch. |
phase.worktree-resynced | journal | runner/runner-loop.ts | The lane worktree was brought up to date with the run branch. |
policy.edited | journal | service-live.ts | The approval policy was edited through the console, with what was added and removed. |
policy.updated | log | runner/approvals.ts | The policy file on disk was rewritten — the counts, and by whom. |
run.account-env-failed | journal | runner/runner-control.ts | Building the environment for an account threw; the run continues on the default. |
run.account-env-missing | journal | runner/runner-control.ts | An account's stored environment is not on this machine. |
run.account-switch | journal | runner/runner-control.ts | The run was asked to move to another account. |
run.account-switched | journal | runner/runner-control.ts | It did — at preflight, for an auth reason. |
run.adopt.alive | journal | runner/runner-control.ts | On boot the console found its own children still running and adopted them. |
run.adopt.interrupted | journal | runner/runner-control.ts | A child from a previous console is gone; its phase is marked interrupted. |
run.agent-artefacts | journal | runner/runner-control.ts | What a session left behind — repos touched, branches, worktrees. Registered, never deleted. |
run.anchor-classify-failed | log | service-recovery.ts | The classifier threw while choosing the phase an action should anchor to. |
run.auto-recovery | both | service-recovery.ts | The convergence loop chose a rung for a stopped run. |
run.auto-recovery-failed | log | service-recovery.ts | That attempt threw; the rung is settled failed. |
run.branch-mismatch | journal | runner/runner-loop.ts | The plan names one branch and the run stands on another. |
run.budget-raised | journal | runner/runner-control.ts | The run's USD budget was raised, by how much, and against what cap. |
run.console-shutdown | journal | runner/runner.ts | The console is going down and is ending its children. |
run.converge | journal | converge.ts | The convergence loop acted on this run — which action, and what triggered the sweep. |
run.converge-failed | journal | converge.ts | That convergence action threw; the run is left as it was. |
run.errand | journal | converge.ts, runner/runner-control.ts | Something a person must settle, raised against the run rather than one phase. |
run.resume-asked | journal | converge.ts | A console restart stopped this run and resumeAtBoot is ask, so nothing was relaunched and the operator is asked on the next app load. |
run.failure-streak-reset | journal | runner/runner-control.ts | The consecutive-failure counter was cleared. |
run.finished | journal | analysis/timeline.ts, runner/runner-loop.ts | The run ended. Its timeline axis stops here. |
run.freeze-escalate-frozen | log | service.ts | An escalation was due and the console itself is frozen, so nothing was escalated. |
run.freeze-escalated | both | runner/runner-control.ts, service.ts | A frozen lane's escalation clock ran out and the freeze was escalated. |
run.freeze-standing | journal | runner/runner-control.ts | A lane's escalation clock is held because the console was frozen under it. |
run.frozen | journal | analysis/timeline.ts, runner/runner-control.ts | The run was frozen (SIGSTOP). Silence after this is the feature, not a fault. |
run.frozen-idle | journal | runner/runner-loop.ts | The drive loop found the run frozen with nothing to do and stood down. |
run.git-radar | journal | runner/runner.ts | A branch/worktree pair changed state under the run. |
run.branches-pruned | journal | runner/runner-loop.ts | Merged pe/* branches were deleted (-d only) once the trunk contained them. |
run.halt | journal | runner/runner.ts | The run stopped. kind is a RUN-level halt kind; a kindless halt stays run-level. |
run.halt-classify-failed | log | service-runs.ts | The classifier threw while reading a halt. |
run.halt-retracted | log | service-live.ts | A halt stopped being true and was withdrawn. |
run.halt-superseded | journal | runner/runner-loop.ts | The board overtook the halt while the lanes were still draining. |
run.held | journal | runner/runner-control.ts | The run's queue is holding: admitted nothing new, by whose hand. |
run.isolation | journal | runner/runner-loop.ts | A worktree lane was REFUSED, with the refusal class; the run degrades to a shared checkout. |
run.isolation-kept | journal | runner/runner-loop.ts | A refusal was overridden and the worktree kept. |
run.isolation-detached | journal | runner/runner-loop.ts | The run's checkout owns no branch: detached at the default branch's head, with the sha it stands at. |
run.isolation-reclaim-failed | log | runner/runner-loop.ts | The reclaim threw. Never fails the run — the build simply refuses branch-in-use. |
run.isolation-reclaimed | journal | runner/runner-loop.ts | A CLEAN checkout sitting on the run branch was switched to the default branch, so the run can take it. |
run.limit-paused | journal | analysis/timeline.ts, runner/runner-control.ts, runner/runner.ts | A usage wall paused the run, from the stream or from a corpse. |
run.limit-resume | log | service-base.ts | The wall's window elapsed and the run is being resumed. |
run.limit-resume-failed | log | service-base.ts | That resume threw; the run stays paused on the wall. |
run.limit-resume-frozen | log | service-base.ts | The resume was due and the console is frozen, so it did not happen. |
run.lock-debris-released | journal | converge.ts | The convergence loop released a lock whose holder is provably gone. |
run.mcp-continue | journal | service-runs.ts | Phases parked on MCP policy: require were released to continue. |
run.parked | journal | runner/runner-control.ts, runner/runner-loop.ts | The run parked — waiting on something rather than stopped by something. |
run.pause-cancelled | journal | runner/runner-control.ts | A requested pause was taken back. |
run.pause-requested | journal | runner/runner-control.ts | A pause was requested, after which phase. |
run.paused | journal | runner/runner-loop.ts | The run actually paused, after the phase the request named. |
run.permission-profile | journal | runner/runner-control.ts | The run's permission profile was changed mid-run, and by whom. |
run.plan-recover | journal | service-runs.ts | A deterministic plan-repair step ran over the run's artefacts. |
run.pr-pending | journal | runner/runner-loop.ts | Every phase is done and the work branch still owes a pull request. |
run.pr-session-skipped | journal | runner/runner-loop.ts | The PR session did not run — usually a freeze. |
run.preflight-refused | journal | runner/runner-control.ts | The run's own preflight refused to start it, and what was tried. |
run.push-carve-out | journal | runner/runner-control.ts | The new-branch push carve-out was switched, and by whom. |
run.readopt-failed | log | service-base.ts | Re-adopting a previous console's runs threw. |
run.readopt-frozen | log | service-base.ts | Re-adoption was skipped because the fleet is frozen. |
run.readopt-queued | log | service-base.ts | A queued run from a previous console was picked up. |
run.rearmed-freeze | log | service.ts | A freeze escalation clock was re-armed after a restart. |
run.rearmed-wait | log | service-base.ts | A park's clock was re-armed after a restart. |
run.reconfigured | journal | runner/runner-control.ts | The run's settings were patched mid-flight. |
run.records-swept | log | service-base.ts | Old run records nothing will read again were dropped. |
run.recover | journal | runner/runner-control.ts | A recovery was started — its mode, its phase, and who asked. |
run.recover.refused | journal | runner/runner-control.ts | A recovery was refused, with the orphan condition that refused it. |
run.recovered | journal | runner/runner-control.ts | The recovery finished and the run may be driven again. |
run.recovery-continue | log | service-base.ts, service-recovery.ts | A recovery's result let the run continue, and it was restarted. |
run.recovery-continue-failed | log | service-base.ts | That restart threw; the run stays where the recovery left it. |
run.recovery-continue-frozen | log | service-base.ts, service-recovery.ts | The restart was due and the console is frozen. |
run.released | journal | runner/runner-control.ts | A held queue was released and admission resumes. |
run.resolved | log | service-runs.ts | The run was marked resolved — nothing more is owed on it. |
run.rung-still-driving | log | service-recovery.ts | A rung was asked about and its vehicle is still running. |
run.secrets-pruned | log | runner/runner-control.ts | Per-run secret files for a finished run were removed. |
run.secrets-swept | log | service-base.ts | Secret files no live run claims were removed. |
run.settings | journal | runner/runner-control.ts | The run's --settings file was written, with the profile it encodes. |
run.settings.prune-failed | log | runner/approvals.ts | Pruning a settings file threw. |
run.settle-pending | journal | runner/runner-loop.ts | The run's branch is queued to merge and the settlement is not finished. |
run.settle-unsupported | journal | runner/runner-loop.ts | The settle strategy cannot apply to this run's checkout shape, and why. |
run.settled | journal | runner/runner-loop.ts | The run's branch and checkout were settled — or deliberately left as they are. |
run.shutdown-child | journal | runner/runner.ts | One child was ended during shutdown, and how. |
run.situation-failed | log | service-runs.ts | The classifier threw for one phase. |
run.stall-escalated | log | service-live.ts | An unresolved stall was said once more, urgently. |
run.stall-retracted | log | service-live.ts | A stall escalation was withdrawn. |
run.start | journal | runner/runner-control.ts, service-runs.ts | The run started, and its timeline axis begins here. |
run.stop-requested | journal | runner/runner-control.ts | A stop was requested for the run, naming the children it will end. |
run.stopped-while-idle | journal | runner/runner-control.ts | The run was stopped while it had nothing in flight. |
run.thawed | journal | analysis/timeline.ts, runner/runner-control.ts | The freeze was lifted and the lanes are running again. |
run.ultrareview | journal | runner/ultrareview.ts | A cloud claude ultrareview was started over this run's work, and which checkout it reads. |
run.ultrareview-done | journal | runner/ultrareview.ts | The cloud review ended: its verdict and finding count, or ok: false and the reason it could not answer. |
run.ultrareview-skipped | journal | runner/runner-loop.ts, runner/ultrareview.ts | No cloud review ran — a freeze, no review surface, or a run that finished no phase to hang one on. |
run.usage-window | journal | runner/runner.ts | The account's usage window as the CLI reported it. |
run.waiting | journal | runner/runner-control.ts | The run is waiting on a clock, until when and why. |
run.waiting-external | journal | runner/runner-control.ts, runner/runner.ts, service-runs.ts | Every phase that could start is parked on somebody else's clock — composed once, whichever path parked the last one. |
run.watch-landed-frozen | log | service-recovery.ts | A watch landed and the fleet is frozen, so the resume did not happen. |
run.watch-resume-failed | log | service-recovery.ts | A watch-landed resume threw. |
run.watch-resume-settle-failed | log | service-recovery.ts | Settling a watch-landed resume threw. |
run.watch-resume-void | log | service-recovery.ts | A watch-landed delivery launched nothing, so the delivery was UN-charged. |
run.worktree-discard-failed | log | runner/runner-loop.ts | Discarding a worktree threw. |
run.worktree-release-failed | log | runner/runner-loop.ts | Releasing a worktree threw. Never fails the run. |
run.worktree-released | journal | runner/runner-loop.ts | The run's worktree was released — what was removed and what was kept. |
run.worktree-setup | journal | runner/runner-loop.ts | The worktree's setup command ran, with its output. |
run.worktree-setup-discarded | journal | runner/runner-loop.ts | A worktree whose setup failed was discarded. |
run.worktree-sweep-failed | log | runner/runner-loop.ts, service-base.ts | The worktree sweep threw. |
run.worktree-unavailable | journal | runner/runner-loop.ts | A worktree could not be had at all, with the refusal. |
run.worktrees-pruned | both | runner/runner-loop.ts, service-base.ts | Stale worktrees were pruned — including registrations whose directory is gone (unmanaged). |
run.worktrees-unmanaged | both | runner/runner-loop.ts, service-base.ts | A working tree this console did not make is holding a pe/* branch. Reported, never removed. |
run.worktrees-swept | both | runner/runner-loop.ts, service-base.ts | The worktree sweep ran across the console's runs. |