Home / Projects / Orchestrata Ultimate / Decisions / ADR index / ADR-0023
ADR-0023: The fast path requires anchors satisfied and unchanged
| field | value |
|---|---|
| Status | Accepted |
| Date | 2026-07-24 |
| Register | factory (docs/adr, 4-digit ids) |
| Source | docs/adr/0023-fast-path-requires-anchors-unchanged.md — permalink at bdafa201a (unchanged on master since that commit) |
| Wiki register entry | ADR-0023 (wiki status: Accepted) |
The record
- Status: Accepted
- Date: 2026-07-24
- Spec: SPEC-033 §2
Context
The fast path lets a change that the impact query proves stays within the existing contract skip the legislature, so the decision-phase cost is paid only when a change actually touches the contract. This is necessary for the economics — otherwise the fixed decision cost is levied on every small change.
But "stays within contract" is a structural proof: same components, same public signatures, no new cross-component edges. A within-contract change can alter behaviour arbitrarily. And by construction the fast path is the highest-frequency route through the system, so it concentrates the greatest volume of change on the weakest semantic check.
Left as specified, the fast path is a hole exactly where the traffic is.
Decision
A change qualifies for the fast path only if, in addition to the structural within-contract proof:
- the anchors of every touched acceptance criterion remain satisfied, and
- those anchors remain unchanged.
Any change that requires editing an anchor is by definition not fast-path — it goes to the full decision phase, and (per ADR-0013) the anchor edit itself requires human ratification.
Alternatives rejected
- Structural proof alone (as specified) — the behaviour hole above.
- No fast path — every change pays the full decision cost; the ROI case collapses for the modal change, which is small.
- Anchor satisfaction without the unchanged condition — an agent could edit an anchor to make it satisfied and still claim the fast path, which is ADR-0013's laundering path re-entering through the cheapest route.
Consequences
- The fast path becomes a genuinely safe optimisation: it is available precisely when behaviour is pinned and unmoved.
- Changes that legitimately alter behaviour are correctly forced onto the slow path — which is the intent, though it will feel costly for small deliberate behaviour changes.
- Requires anchors to be cheap to evaluate on every fast-path change; anchor evaluation cost becomes part of the fast-path budget.
Provenance
Round-3 Opus (#11): "the fast path is where the semantic hole is widest, and §2 doesn't address it" — noting it is simultaneously the weakest check and the highest-frequency path.
Related ADRs
- Also mentioned: ADR-0013
Rulings cited
None.