Home / Projects / Orchestrata Ultimate / Decisions / ADR index / ADR-0052
ADR-0052: F13(C) bindings — wire the five unbound gates (recommended) or amend the clause
| field | value |
|---|---|
| Status | Proposed — Proposed (awaiting Mohamed — the wiring half is engineering work he |
| Date | 2026-08-29 |
| Register | factory (docs/adr, 4-digit ids) |
| Source | docs/adr/0052-f13-verification-bindings-wire-or-amend.md — permalink at 9c90c0209 (unchanged on master since that commit) |
| Wiki register entry | ADR-0052 (wiki status: Proposed) |
The record
Status: Proposed (awaiting Mohamed — the wiring half is engineering work he gates; the amend half touches HIS ratified text) · Date: 2026-08-29
Context
F13(C) binds SPEC-115 verification "by name, with when-it-runs and what-fails". Round
16 (life-R16-7, CONFIRMED · MED) checked all eight named bindings against this
repository: 2 accurate (req-format, feature-loss) · 1 partial (RTM as a gate input)
· 5 false or unbound — the review battery (scripts/gates.py) has none of the three
trace gates; check-traces is a pre-commit NET-COUNT ratchet at --max 2219 (an
added untraced SPEC-115 symbol offset by any unrelated removal passes — exactly the
"logged debt" clause B forbids); trace-audit, the trace_intel orphan/untraced
queries, check_spec_authority.py, and both factory conformance checks (B2/B3) are
bound to no failure point.
Decision (proposed | recommendation: OPTION 1)
Option 1 — WIRE (recommended): make clause C true as ratified: add the three
trace gates to the battery registry; wire check_spec_authority.py and the factory
B2/B3 checks to the failure points clause C names; add a SPEC-115-scoped
check-traces --max 0 lane beside the global ratchet (new SPEC-115 symbols admit
zero orphans — "never logged debt" made literal). Ratified text untouched.
CONDITION (Mohamed, 2026-08-29, binding on Option 1): "atoms, functions, commands, any form of functionality that is not built for the gates must be planned, reviewed, designed and built, no bullshit." Wiring is NOT a config flip: every new atom this option needs (a battery-registry entry contract, a scoped ratchet lane, each failure-point binding) goes through the full discipline — a design contract (RUL-022 or an Accepted-ADR waiver naming this ADR), an adversarial review of the design, a gated build with tests, and the review battery green — before any gate is claimed wired. A wired-gate claim without that trail is the same defect this ADR exists to fix. Option 2 — AMEND: correct clause C to the actual homes and the ratchet's netting semantics (a rule-5b amendment like ADR-0050/0051).
Alternatives rejected
Read clause C as aspiration for spec-sync (its own words are "bound by name, with when-it-runs" — asserting bindings as already-bound; the reviewer pre-rebutted this); leave unwired and unamended (a ratified verification contract whose named enforcement points do not exist is Hard-Rule-8's tested-but-unreachable defect one level up).
Consequences
Option 1: F13(C) becomes executable truth before SPEC-115 lands; every atom of it is a planned, designed, adversarially-reviewed, gated build per Mohamed's condition above (no ratified-text change). Option 2: the contract becomes honest about weaker enforcement. Either way the v17 design records the hold and touches nothing ratified.
Provenance
ruleset-review-r16-lifecycle.md R16-7 (plans/reviews/ruleset/, committed) — per-gate wiring table verified against scripts/gates.py and .pre-commit-config.yaml. Recorded during the v17 fold under revision rule 5b. Mohamed's condition on Option 1 recorded verbatim 2026-08-29, same turn: "before you bullshit me. atoms, functions, commands any for[m] of functionality that is not built for the gates must be planned, reviewed, designed and built, no bullshit".
Related ADRs
- Also mentioned: ADR-0050
Rulings cited
- RUL-022: RUL-022 — No implementation dispatch without a ratified design artifact
Specs cited
None (or no spec page exists for the ones named).