acelm.ai / House (Public Specifications)
Docs > AceLM Status Vocabulary & Terminal UX

AceLM status vocabulary and terminal UX

Design record, 2026-10-04 America/New_York. Companion to the artifact transition catalog. Captures the latest discussion for the AceLM documentation and website project. This is product design documentation, not a claim that these behaviors already ship or a request to publish website copy.

Decision maturity

  • Agreed direction: concise canonical labels, consistent terminology across artifact types, successful completion separate from run completion, explicit human intervention, and lifecycle phase retained while work waits.
  • Favored vocabulary: common lifecycle/failure labels below remain subject to the explicit migration decisions in the status migration contract.
  • Finalized readiness: go, no-go, need-ok, and missing/null displayed as -.
  • User preference: permit an eight-character status display when terminal space is limited.
  • Finalized Run: the label meanings, outcome precedence, selection rule, and separation from worker liveness below. Proposed serialization and unresolved lifecycle choices remain marked explicitly.

Separate dimensions

Dimension Purpose
Lifecycle status Phase reached or recorded outcome/disposition of the artifact
Run display State/result of the selected work assignment for this artifact; not worker-process liveness
Readiness Whether the intended next action passes its gates
Human intervention Pending human decision/request and the affected actions
Worker liveness Whether the worker process/service is alive; shown in details, not inferred from Run

Acceptance-blocking open questions prevent acceptance. A question first discovered during execution can block affected work without erasing the acceptance or execution phase. Changing accepted scope/requirements requires revision, independent review, and acceptance again.

Agreed phase retention: executing + wait/issue retains executing while blocked. Verification likewise retains verifying. Lifecycle labels denote a phase that has begun, not a promise that a process is continuously working. This supersedes the earlier proposal to return paused work to accepted and the earlier active-agent-only meaning of implementing/executing. Beginning those phases still requires an authorized actual start; an untouched queued artifact remains accepted.

Favored canonical lifecycle vocabulary

The intended common progression is draft → to-review → reviewing → reviewed → accepted → executing → verifying → complete. Type-specific completion gates remain different. Review passed does not mean human acceptance; complete requires verified fulfillment, not merely that a worker stopped.

Meaning Canonical label Width Eight-character display
Authoring draft 5 draft
Submitted for review to-review 9 to-revie
Review phase reviewing 9 reviewin
Successful review reviewed 8 reviewed
Human/scoped delegated acceptance accepted 8 accepted
Fulfillment phase executing 9 executin
Verification phase verifying 9 verifyin
Successful artifact completion complete 8 complete
Review budget exhausted fail-review 11 fail-rev
Verification budget exhausted fail-verify 11 fail-ver
Execution failure fail-exec 9 fail-exe
Unremediable/exhausted gate fail-gate 9 fail-gat
Interrupted process fail-int 8 fail-int
Confirmed unexpected process death fail-died 9 fail-die
Replaced artifact superseded 10 supersed
No longer needed retired 7 retired
Intentionally discontinued abandoned 9 abandone

These displays are literal first-eight-character truncations. They are unique for this proposed vocabulary; validate uniqueness whenever adding a status. Provide full canonical values in details/help and structured output. Do not store truncated labels or silently accept ambiguous prefix filters. Full labels are preferred when space allows; an explicit compact mode can use width 8 without an ellipsis taking another cell. An ASCII status token does not depend on color or symbol interpretation.

Implementing specification, executing plan, graduating backlog, and verifying closure can remain descriptive action labels. Shared executing status supports investigation, documentation, orchestration, and direct code work. The favored terminal success is complete for specs, plans, and backlog items.

Graduation-as-activity remains a recommendation under discussion, not a settled deletion of states. If retained as statuses, graduating → graduati (10 → 8 characters) and graduated → graduate (9 → 8 characters) are distinct. Preserve successor links and graduation events in either model.

Favored readiness vocabulary

Canonical label Meaning
go All required gates for the intended action pass
no-go At least one nonapproval gate blocks that action
need-ok Other gates pass; required approval is pending
Missing/null; displayed as - Unspecified/not evaluated

The finalized need-ok replaces the legacy go-pending-approval. Eight-character truncation of that older label is ambiguous and should not become the new canonical spelling. The display should not use go-pend? to imply a known pending approval; the question mark looks like uncertainty.

Finalized Run labels

The finalized Run label set is queue, run, wait, pause, done, issue, fail, died, and -. Every label is at most five characters. The Run column displays the selected assignment's activity or outcome, not a raw worker-process liveness indicator. A persistent worker can complete one assignment while continuing to run other assignments.

Label Meaning Worker alive?
queue Assignment scheduled but not started Independent/unknown
run Assignment actively making progress Expected; liveness must be observed
wait Expected wait with no human action currently required May be alive
pause Assignment deliberately suspended by user or policy May be alive
done Assignment performed its assigned task successfully; the worker may remain running May remain alive and perform other work
issue Human intervention is required, without a decisive assignment failure; includes an unanswerable OQ, acceptance decision, or authority beyond delegation May be alive; affected work is usually waiting
fail A decisive unsuccessful assignment outcome was recorded May remain alive; inspect run outcome and artifact status
died Runner terminated unexpectedly without recording a final assignment outcome; confirmed during reconciliation Terminated; recovery assignment will be scheduled
- No associated assignment to display No implication about service liveness

The name died is finalized (not dead, lost, orphan, or stop):

  • lost was rejected because it implies unrecoverable work; AceLM preserves checkpoints, worktrees, commits, and uncommitted progress for recovery.
  • dead describes process liveness and can apply after normal completion.
  • orphan remains a descriptive detail indicating an ownerless lane or assignment.
  • stop was removed because it was too ambiguous: normal completion, deliberate pause, interruption, death, and failure have fundamentally different operational consequences.

done is assignment completion, not artifact completion. A review assignment can be done while its artifact is reviewed; an execution assignment can be done while the artifact enters verifying. A successfully completed review process with a negative content verdict is not an infrastructure failure: its assignment can be done while the artifact needs author revision or reaches fail-review. Distinguish process/task completion from content verdicts in details.

fail is decisive assignment failure, distinct from artifact retry exhaustion. One failed individual assignment may still have an authorized retry available before the artifact transitions to a fail-* status. Details expose the failed assignment and cause. A VA assignment that successfully delivers a negative verification verdict has performed its checking task; it is marked done with a negative verdict, rather than a failed assignment runner.

issue is not triggered by the mere existence of an open question. An agent investigating an answerable OQ can remain run. An unanswered nonblocking OQ need not block the assignment; if it genuinely requires a human response, it is recorded as human intervention and exposed in attention views. An unanswerable, action-blocking OQ shows issue with needs-human intervention; operationally that assignment is waiting. Store underlying activity and blocker separately and derive the compact Run label.

User-defined distinction: issue means human intervention is required without a decisive failure. wait means an expected wait with no human action currently required. Pending human acceptance therefore shows issue with readiness need-ok; a pending dependency normally shows wait with readiness no-go. An agent-remediable problem alone does not imply issue. Human-needed metadata can coexist with other authorized ongoing work; the detailed activity remains visible if the compact label shows issue. A terminal failed assignment keeps fail (or died) even if a human is now needed to recover it; details expose that intervention.

Unexpected termination, reconciliation, and recoverable progress

Durable recovery governs crashes, power loss, reboot, and unclean runner termination:

  1. Identity and Termination Confirmation: Startup and periodic reconciliation confirm worker identity and termination using durable run records, host/boot identity, process-start identity, and ownership leases. A reused PID or missing heartbeat alone is insufficient.
  2. Uncertainty vs. Confirmed Death: An unreachable host, uncertain ownership, or terminal disconnection alone does not justify died or fail-died. Reconcile uncertainty and suspend new mutation authority before declaring death.
  3. Preservation Invariant: died never means discard or blindly reexecute. The system preserves lane/branch/worktree, commits, uncommitted work, E/V progress, execution logs, checkpoints, and records uncertain side effects.
  4. Fencing and Recovery: Stale mutation ownership is fenced before assigning a replacement worker. Recovery inspects actual results and resumes only unestablished work. Evidence is recovered where possible; commits alone do not prove completion gates passed.
  5. Detection and Retry Accounting: Detection and human waiting consume no retries. Automatic corrective recovery uses FAIL retry limits and respects the artifact cumulative ceiling. Detection timestamp is recorded separately from last observed activity; termination history is preserved after an authorized recovery assignment transitions to queue/run.

Display selection and concurrent assignments

  1. Show the current assignment for each artifact; if none is current, show the latest relevant assignment outcome. Otherwise done/fail/died would vanish as soon as the assignment ends. Clearing an association produces -; it does not rewrite history.
  2. Selecting/queuing a new assignment replaces the previous displayed done/fail/died with its queue/run state. Preserve the older outcome in history.
  3. A terminal unsuccessful assignment shows fail or died; a terminal successful assignment shows done. An unfinished assignment requiring human intervention shows issue; otherwise display its queue/run/wait/pause activity.
  4. Do not let an agent-remediable or informational warning mask run. If a genuine human request coexists with ongoing unrelated work, the primary label can show issue while details preserve the running activity. If parallel assignments exist, use a deterministic primary assignment selection and expose the others in details or an expanded runs view.
  5. Display needs-human in details and focused blocked/attention views rather than adding another permanent column to an already-wide default table. Keep OQ open/total counts but do not infer human need solely from the count.
  6. Status failure prefixes are useful for grouping/filtering. Eight-character display is presentation only; CLI commands and exported records keep full canonical values.

Examples under the display contract and favored lifecycle names

Status Run Readiness Explanation
reviewed issue no-go Acceptance-blocking OQ needs a human answer
reviewed issue need-ok Review passed; human acceptance required
accepted queue go Authorized execution assignment queued
executing run go Agent executing accepted work
executing issue no-go New execution-blocking OQ needs human judgment; resume execute after gates pass
executing wait no-go Waiting for required dependency
executing done - Execution assignment finished; verification handoff still being scheduled; readiness has not been evaluated
verifying run go Verification assignment active
complete done - Artifact completion published; latest assignment succeeded
fail-verify done no-go VA successfully delivered a final negative verdict; content verification exhausted
executing fail no-go Latest execution assignment failed; artifact recovery decision is pending
fail-died died no-go Confirmed unexpected worker death recorded; runner fenced and uncommitted progress preserved

Readiness is always relative to the named intended action. These are illustrative outcomes, not values inferred from lifecycle status alone.

Decisions still open

  • Finalize canonical vocabulary and graduation handling, then migrate all transition tables, diagrams, examples, schema validators, and website claims together.

Run task success, final failure precedence, and human-intervention precedence are resolved by the finalized sections above. This record is authoritative design documentation; expressly open naming/state choices are not silently finalized.

The original catalog keeps older tokens for traceability until naming is finalized; its pause/human-intervention semantics have been corrected to retain phase. Retry inheritance and the cumulative default of 20 x resolved MAX_RETRY remain unchanged.