Home / Projects / Orchestrata Ultimate / Decisions / ADR index / ADR-0020
ADR-0020: Amendment direction — syntactic sufficient condition, else the human
| field | value |
|---|---|
| Status | Accepted |
| Date | 2026-07-24 |
| Register | factory (docs/adr, 4-digit ids) |
| Source | docs/adr/0020-amendment-direction-syntactic-then-human.md — permalink at bdafa201a (unchanged on master since that commit) |
| Wiki register entry | ADR-0020 (wiki status: Accepted) |
The record
- Status: Accepted
- Date: 2026-07-24
- Spec: SPEC-033 §1
Context
The asymmetric amendment rule (ADR-0009) is only as good as the classifier that decides direction.
The proposed test — new_accepts ⊆ old_accepts evaluated over the accumulated fact ledger — is an
empirical subset test over sampled history, presented as a logical entailment.
The failure is precise and permanent: a rulebase change that loosens only in fact-space the ledger has never visited classifies as a tightening and passes on quorum alone. And it is exactly the novel behaviours — the ones no prior commit exercised — that matter. The classifier's blind spot is the erosion channel it was introduced to close.
Decision
Direction is decided fail-closed, by a three-step cascade:
- Syntactic sufficient condition first. Where a change is provably tightening by construction — e.g. a rule body strictly extended by an additional conjunct, or a clause removed — classify as tightening with no ledger evidence required. This is a logical entailment, not a sample.
- Ledger differential as a screen only, explicitly labelled coverage-bounded. It can refute ("this newly accepts a known commit ⇒ loosening") but never establish tightening.
- Anything not provably tightening ⇒ human. Unknown direction is treated as loosening.
Alternatives rejected
- Ledger-differential alone — the unvisited-fact-space hole above.
- Let the amending quorum declare the direction — reintroduces erosion-by-mislabelling, the exact incentive ADR-0009 exists to remove.
- Full semantic subsumption checking — undecidable for unrestricted rules; the syntactic condition is the decidable fragment worth having.
Consequences
- More amendments route to the human than a purely empirical classifier would send — deliberately, and consistent with the spec's fail-closed posture everywhere else.
- The syntactic condition's coverage determines how much human load this costs, so it is worth extending over time with additional provably-tightening patterns.
- Requires a rulebase discipline in which "strictly extended by a conjunct" is a meaningful, analysable notion — i.e. it depends on ADR-0025.
Provenance
Round-3 Fable (C-2: ledger-subset is evidence, not proof; fail-closed on direction) and Opus (#9: the novel-behaviour blind spot; syntactic sufficient condition where available). Converged independently.
Related ADRs
Rulings cited
None.