Home / Projects / Orchestrata Ultimate / Decisions / ADR index / ADR-0106
ADR-0106: Ruling-gated lift increments are not claimed by their package's parity suite until their ruling lands — the affected gate certifies the landed surface, and the held REQs stay UNLINKED in the RTM
| field | value |
|---|---|
| Status | Accepted — Accepted (ruling, Mohamed, 2026-10-18, on the adr0106 prompt, verbatim: "Hold the claims, gate green now") |
| Date | 2026-10-18 |
| Register | factory (docs/adr, 4-digit ids) |
| Source | docs/adr/0106-ruling-gated-lift-increments-are-not-claimed-by-their-parity-suite-until-their-ruling-lands.md — permalink at b38097466 (unchanged on master since that commit) |
| Wiki register entry | ADR-0106 (wiki status: Accepted) |
The record
Status: Accepted (ruling, Mohamed, 2026-10-18, on the adr0106 prompt, verbatim: "Hold the claims, gate green now") · Date: 2026-10-18
Context
ADR-0105 (Accepted, Mohamed: "Remediate the gate, then push") extends the affected-test gate to the packages/** layout. Its completion requires every landed package's parity suite to be green in its own venv. The remediation is green for session (57/57), knowledge_graph (143/143), governance (242/242); kernel and contracts are in flight; volks is 234/272 with 38 residual failures, of which 7 are the in-flight contracts rename (kernel importers, being retargeted now) and 31 are claims on the lander's deliberately STOPPED importers:
| stopped importer (land-volks-record v11) | increments | frozen imports | REQs held |
|---|---|---|---|
| agents.tool_executor | VK-13, VK-16 (FULL) | orchestrata_ultimate.tools.* (25 names) | REQ-125-039/040/041/042 |
| agents.volks.architect.volk | VK-91 | orchestrata_ultimate (bare) | REQ-125-058/909 |
| agents.volks.codedirector.volk | VK-111 | orchestrata_ultimate (bare) | REQ-125-067/068/911 |
| agents.volks.codedirector.implementation | VK-106 (FULL) | orchestrata_ultimate + scripts.serialize_codebase_ast | REQ-125-060 |
| verification.spec_completeness | VK-143 (FULL) | orchestrata_ultimate.openspec.requirements_parser | REQ-125-957 |
These are the N-V3/N-V4 ruling input: the increments README marks the rows "ruling-gated N-V3",
the tools/codetools family is un-designed, and the oracle filler flags their re-points
##UNRESOLVED##. AD-65 R3 rules their tools imports as injection seams; AD-91 forbids a landed
module from importing frozen code. The parity suite nonetheless emits one test per claimed REQ for
these units (vk_parity.py claims from the checklist), so the suite is RED on REQs that are, by
documented ruling-gated design, not implemented. The same class also breaks transitively: the
package __init__ re-export shims import the stopped .volk modules at module scope, so ~27
additional non-gated tests fail as cascades.
Precedent: the session generator claims only landed units (57/57 green); stopped/NEEDS rows are disposed in the census (AD-40 rulings), never claimed. The volks generator lacks the equivalent disposition.
Decision (proposed)
A package's parity suite claims only LANDED units. REQs whose increment is ruling-gated (N-V3/N-V4
tools family, ##UNRESOLVED## re-points) are HELD — no parity test is emitted for them, the
generator records the hold with the increment id, and the REQs grade UNLINKED in the RTM until
their ruling lands (the ruling itself re-claims them). Landed modules must not import held units:
the __init__ re-export shims that reference the stopped volks classes are removed, so no
landed surface breaks transitively. The affected gate then certifies exactly the landed surface,
which is what ADR-0105's packet exists to do.
Alternatives rejected
- Keep the claims; the push waits for N-V3/N-V4: the tools-family ruling is unbounded work; blocking a 345-commit push on a design ruling that has its own queue defeats ADR-0105's "bounded packet".
- Implement the tools family now: that IS the N-V3/N-V4 ruling — out of this packet's scope, and a self-issued ruling is forbidden.
- Skip/xfail the held tests: violates the no-skips doctrine; HOLDING the claim at the generator is not a skip — the test never exists, and the RTM says UNLINKED out loud.
Consequences
- volks parity goes green on the landed surface (the 31 fork failures and their cascades disappear with the held claims + shim removal); kernel/session/kg/governance are unaffected.
- REQ-125-039/040/041/042, 058, 060, 067, 068, 909, 911, 957 report UNLINKED in the RTM until N-V3/N-V4 — a loud, honest status, not a silent green.
- The held-claims mechanism lands in vk_parity.py (and any other package generator that meets the same class), keyed on the increments' "ruling-gated" marker.
Provenance
- ADR-0105 packet execution, session 271, 2026-10-18. Evidence: volks parity suite
(packages/volks: 234 passed, 38 failed, of which 31 fork + 7 in-flight contracts rename);
land-volks-record.json
stopped_importers; packages/volks/increments/README.md rows VK-11, VK-16, VK-70/71, VK-106, VK-143 ("ruling-gated"); the##UNRESOLVED##tools re-points. - Mohamed's ruling on the Proposed record the same day, verbatim: "Hold the claims, gate green now".
Related ADRs
- Also mentioned: ADR-0105
Rulings cited
None.
Specs cited
None (or no spec page exists for the ones named).