CLI + harness
The command surface turns plain-language objectives into named workflow runs and exposes status, attach, connect, send, interrupt, pause, resume, quit, and reload controls.
Atomic is easiest to understand as a set of executable contracts. These cards name the contract, describe the observed behavior, and link directly to the source files that own it.
The command surface turns plain-language objectives into named workflow runs and exposes status, attach, connect, send, interrupt, pause, resume, quit, and reload controls.
Typed workflow definitions become a dependency graph. Sequential, parallel, nested, prompt, and tool nodes are rendered and scheduled with explicit stage boundaries.
DBOS-backed state and checkpoint envelopes preserve run/stage topology, outputs, timings, prompts, and replay decisions across process boundaries where the backend is available.
Atomic stores JSONL session trees, binds stage sessions to workflow metadata, and uses RPC/interactive controls to interrupt, pause queues, resume, or quit without silently creating a new conversation.
Large handoffs are file-backed artifacts. Goal and Ralph persist ledgers, review rounds, reports, and evidence paths so downstream stages read a stable artifact instead of an inflated prompt.
Queue modes distinguish steering from follow-up, while Intercom brokers parent/child results and supervisor authorization with bounded delivery and reply tracking.
Tool admission, structured outputs, model fallback, tests, and lifecycle notices keep completion evidence separate from model narration.
Focused suites cover runtime controls, paused queues, durable resume, artifacts, graph topology, RPC, and workflow stage behavior; CI documents ordering and native-build boundaries.
These are intentionally plans, not unimplemented claims. Each one is anchored to exact current Atomic files so an Atomic++ implementation can be reviewed against the runtime it extends.
| Plan | Current Atomic anchors | Atomic++ direction |
|---|---|---|
| Transport adapters | packages/coding-agent/src/modes/rpc/rpc-types.ts packages/coding-agent/src/modes/rpc/rpc-command-handler.ts packages/intercom/types.ts | Normalize Telegram, Slack, GitHub events into a versioned envelope, then route to a workflow or stage without coupling transport code to the executor. |
| Durable delivery | packages/workflows/src/durable/backend.ts packages/workflows/src/durable/dbos-envelope.ts packages/workflows/src/shared/persistence-session-entries.ts | Persist inbound event IDs, delivery attempts, run IDs, and response receipts beside workflow checkpoints; replay is explicit and idempotent. |
| Human control | packages/workflows/src/extension/workflow-run-control-command.ts packages/workflows/src/runs/background/quit.ts packages/workflows/src/durable/resume-runtime.ts | Expose status, pause, resume, interrupt, and quit as authenticated adapter actions with the same state transition rules as the CLI. |
| Grok compatibility | packages/intercom/broker/client-message-validation.ts packages/intercom/broker/supervisor-channel.ts packages/coding-agent/src/core/agent-session-message-queue.ts | Keep useful bridge patterns—polling, concise routing, thread/reply context, retries, and safe action parsing—while replacing process-local assumptions with signed, durable, transport-neutral events. |
The coding-agent session layer already exposes provider usage and configured cost totals; workflow model-attempt metadata only permits optional usage today, and the foreground controller does not populate it. A future ledger should attach reported metrics to the stage attempt without turning compaction estimates or model-rate configuration into provider claims.