Home / Projects / Orchestrata Ultimate / Decisions / ADR index / ADR-0084
ADR-0084: Governance predicate dispositions — wire 14, keep 8, hold 30
| field | value |
|---|---|
| Status | Accepted — Accepted (Mohamed, 2026-10-09 — per-group rulings; see Provenance) |
| Date | 2026-10-09 |
| Register | factory (docs/adr, 4-digit ids) |
| Source | docs/adr/0084-governance-predicate-dispositions-wire-14-keep-8-hold-30.md — permalink at 8d3be15f7 (unchanged on master since that commit) |
| Wiki register entry | ADR-0084 (wiki status: Accepted) |
The record
Status: Accepted (Mohamed, 2026-10-09 — per-group rulings; see Provenance) · Date: 2026-10-09
Context
scripts/check_prolog_boundary.py reported 54 predicates "shipped in a
curated governance rule file, never queried by any discovered site AND not
reached from any rule body" — loaded into production engines, never asked
anything (the defect shape the checker's docstring names). Mohamed's
directive: "review the laws and where they must be applied". The full
review (every predicate traced to file:line, rule body, REQ citation,
enforcement site) is plans/ruling-2026-10-09-governance-predicates.md.
Decision (Mohamed, per-group rulings in-session)
- Wire the G226 review/handoff cluster (9): review_gate,
review_gate_checks, requires_review, must_review_before_test,
may_skip_review, may_force_handoff, may_escalate_fix, valid_fix_packet,
handoff_requires_fix_instructions — the QA pipeline reads the rulebase;
the hand-copied Python lists (
agents/volks/qa/volk.py:350-364etc.) are deleted. "Wire it." - Keep the 8 vacuous/superseded (protects_rights, resource_efficient, respects_dignity, file_access_policy, ethical_principle, temporary_grant, role_authority_level, resource_allocation_fair) — they stay as documentation of intent. "Keep them."
- Wire the 5 real laws at their named sites: handle_pii →
knowledge_graph/architecture_writer.py's pii flag; human_override →governance/constitutional.py:287; session_valid → the session lifecycle; can_delegate →kernel/pam/enforcer.py:481; needs_escalation →kernel/pam/escalation.py:122. "Wire at named sites." - Hold the 30 islands (producerless input facts feeding unqueried rules — the agents.pl role/hierarchy island and governance.pl's volk-lifecycle cluster). "Hold for now."
Alternatives rejected
- Retire the vacuous: Mohamed keeps them as documented intent.
- Retire the islands: Mohamed holds them for the future runtime.
- Wire everything: no enforcement site exists for the islands; wiring would invent runtime the platform doesn't have.
Consequences
- Execution queue (per the ruling record): group 3 wiring (5 sites, each
with a test that the site asks and the rule can deny), then group 1
(rulebase-as-source for the QA lists + parity test), then the checker's
whitelist fix (
task_has_output/has_open_questionare false positives —may_completeis a whitelisted dynamic site). - The advisory ceiling re-measures after the wiring (54 → 40).
Provenance
Mohamed, 2026-10-09, in the Kimi Code session, ruling on the four groups
after the full review. Review evidence:
plans/ruling-2026-10-09-governance-predicates.md and the explore report
behind it (every claim file:line-cited).
Related ADRs
No other ADR is named in this record.
Rulings cited
None.
Specs cited
None (or no spec page exists for the ones named).