Reliable by Design · 05.12
Atomic Evolution: Changing a Live Run Safely
Mid-run graph changes must pass the same contracts as authoring — no data-coupling break, no gutted capability, never a regression below the graph's proven green.
The contracts are steering, not a cage
When an agent — or the operator — proposes a change to a graph that's already running, the change has to survive the same contracts that guard authoring in the first place. The framing matters: a rejected evolution isn't a dead end, it's a typed instruction back to the agent naming exactly what regressed, so it can fix and re-propose rather than being stonewalled with no path forward.
The monotonic ratchet: never worse, not already perfect
Evaluating a proposed graph against its base is a pure diff of contract errors — no DB, no side effects. A coupling error present in the merged graph but not in the base is a genuine regression the edit introduced and is rejected; a coupling error that was already there before the edit is allowed to persist, because the ratchet only demands "never make it worse," not "must already be flawless" — so incremental progress on an imperfect graph is never blocked by unrelated pre-existing debt. One category of violation is never negotiable regardless of pre-existing state: an approval-integrity bypass, like an || true spliced in front of an irreversible action, is always a hard rejection.
A dropped capability — an agent worker, an external fetch, an integration, a persistence step — compared against the workflow's stored intent manifest surfaces as a visible warning, not an automatic block: gutting a load-bearing capability is loud and flagged, but a legitimate, intentional scope change is still allowed to go through.
Three levels of who's allowed to commit
| Authority | Behavior |
|---|---|
operator | The agent cannot self-evolve the graph; an evolution becomes an explicit operator decision. Today's default for audited pipelines. |
agent_within_green | The agent commits freely as long as the ratchet holds (no new regression) and budget allows — the recommended default for agent-primary Apps. |
agent | Full autonomy within budget — the ratchet still holds; an evolution can never silently corrupt the graph, no matter the authority level. |
Continue
Detects repeated workflow failure patterns, writes the lesson into the Brain, and emits an operator-visible proposal.
The regression gate that runs cold-start build tasks against a seeded workspace and grades the actual outcome — pass@k versus pass^k.