Cadora · run a gated workflow
Cadora drives a coding agent through a topology — a graph of nodes, each with a role and a prompt, wired by dependencies. After every node a deterministic gate re-runs the real build and tests, and the whole run is archived as evidence. This is the journey from a YAML file to a sealed pack.
A topology is a DAG of nodes. Each node names a role and a prompt; depends_on wires the order; and a gate names the deterministic check that must pass before the run moves on. Cadora topo-sorts the graph into dependency waves.
A node can also carry review: true to pause for a human — that is the human-in-the-loop journey. Here every gate is deterministic: a shell command Cadora re-runs itself.
You point Cadora at the topology, an executor (the agent CLI), and a vision. Because the agent runs autonomously with --dangerously-skip-permissions inside your --cwd, Cadora prints a blast-radius banner first and asks once before it starts.
In automation there is no one to answer, so --yes (or CADORA_ASSUME_YES=1) prints the banner for the record and proceeds. A piped, TTY-less run does the same — the banner is the audit trail, and CI is never blocked.
Each node runs in dependency order. Cadora announces the node, streams a heartbeat while the agent works, then — the moment the agent claims done — runs the gate and the toolchain-integrity check itself and prints the verdict. The agent's own "ok" never decides the line.
Independent nodes in the same wave can run concurrently with --max-parallel N — only the agent sessions overlap; gates, integrity, and archiving stay sequential and deterministic.
In another terminal, cadora dashboard serves the same archive. The run detail page is a DAG canvas: each node is a cost-and-quality map carrying its cost, context tokens, and badges for its gate, integrity, and review outcomes — so a bad gate shows up right on the node.
The dashboard is a read-only cockpit over the run archive — no login, no database, loopback by default. A FinOps panel breaks the same cost down by model, executor, and funding.
Green means proven, not claimed. When a node's gate does not truly pass, the run stops there — fail-closed. Here construction exited zero, but the suite ran no tests: the gate reports VACUOUS and refuses to certify it.
The status vocabulary is precise: failed (a real defect), vacuous (ran nothing), packaging_failed (declares a package that will not build), and blocked_prerequisite (external tooling missing — not the agent's to fix). Add --remediate N and a remediable status drives a fresh, constrained session, then the same gate re-runs to decide green.
Every gate cleared, the run finishes and its evidence pack is sealed. The DAG reads at a glance — three green nodes, each stamped with its gate and integrity outcome — and the archive records exactly which command ran, what it printed, and what it cost, node by node.
Off the archive you can run cadora report for a portable pack, cadora eval for the deterministic checks, or cadora compare to diff the same topology run on a second backend.
The screens above reproduce the live Cadora terminal and dashboard exactly — rendered as editable HTML rather than raster captures, so they can be lifted into Figma or iterated directly. Every gate is deterministic and fail-closed, every run is archived, and "green" is a fact Cadora observed and kept — not a sentence the model emitted.