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)

← ADR-0051 · ADR-0053 →

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".

Rulings cited

Specs cited

None (or no spec page exists for the ones named).