KB-7692

03 — Blocker Register & Gates (2026-06-01)

10 min read Revision 1
one-roof-governanceimplementation-indexblocker-registergatessb-1sb-2sb-3op-bc-4c-5c-6l-1l-2h-1enactment2026-06-01

03 — Blocker Register & Gates

Every blocker below is OPEN. None is solved here; none may be treated as solved. A blocker wins over implementation ambition (doc 00 §0.2). Live evidence is the read-only Round-4 snapshot (doc 08 of the law-hardening package), as of 2026-06-01; re-verify read-only before relying on a count.

Columns: Status · Blocks what · Does NOT block · Owner/candidate · Required next macro · Acceptance criteria · Design now? · Implement now?

3.1 Substrate blockers (PG schema delta needed)

SB-1 — Missing governance APR action-types

  • Status: OPEN. Live apr_action_types = 6 (add_field, amend_law, create_item, enact_nrm, patch_ops_code, update_item; *=unimplemented). None is assign_governance_owner / grant_governance_exception / delegate_authority / assign_axis_owner.
  • Blocks: apply/remediation PROPOSE path (a DOT proposing an owner edge or exception).
  • Does NOT block: concept tier; reading; the SB-1 design (T3).
  • Owner/candidate: COUNCIL (also C-2 decision).
  • Required next macro: T3 (design 4 action-types + handler/council-review wiring; interim exception store = admin_fallback_log, C-2).
  • Acceptance: 4 action-types designed with handler + council-review routing; proven additive; rollback drafted; read-only rehearsal log.
  • Design now? YES (T3, uncommitted). Implement now? NO.

SB-2 — Object/axis ownership edge un-expressible

  • Status: OPEN. chk_relations_source_type & chk_relations_target_type both ∈ {law, agency}; 8 live edges all agency→law. An object/axis cannot be a relation endpoint.
  • Blocks: apply/remediation APPLY path (writing an owner edge for an object or axis).
  • Does NOT block: concept tier; the SB-2 design (T4).
  • Owner/candidate: COUNCIL (C-1).
  • Required next macro: T4 (design additive governance_object_ownership(owner_gov_code, object_type, object_ref, scope, …); prefer the new table over widening the CHECK; prove no migration risk to the 8 live edges).
  • Acceptance: additive table designed; no migration risk proven; rollback drafted; rehearsal log.
  • Design now? YES (T4). Implement now? NO.

SB-3 — IU axis envelope hardcodes 3 axes

  • Status: OPEN. iu_three_axis_envelope DDL = exactly axis_a_*, axis_b_*, axis_c_*; 216 rows. A 4th axis ⇒ ALTER TABLE. Keystone honesty caveat: the "no fixed axis array" principle (M-DEF-8/9) is concept-true but substrate-false at IU today.
  • Blocks: open-axis at the IU substrate; the IU integration build (T10).
  • Does NOT block: the open-axis concept (already canon); the SB-3 design (T5) once OP-B is decided.
  • Owner/candidate: IU technical design, after OP-B.
  • Required next macro: T5 (Axis Registry as ground truth; generic iu_axis_value store; demote envelope to hot-cache projection; prove a 4th axis becomes data not DDL).
  • Acceptance: generic axis store designed; 4th-axis-as-data demonstrated in rehearsal; envelope reframed as projection; rollback drafted.
  • Design now? ONLY after OP-B (T2). Implement now? NO.

3.2 Council / human decision surface (8 items — none blocks the concept tier)

OP-B / C-3 — IU family accountable owner per scope

  • Status: OPEN. No GOV-IU agency; owner_ref free-text; conformance_status='open' on all ~219 IUs; 54-cmd catalog is an island.
  • Blocks: IU surface / owner-binding (T10); also a precondition for committing SB-3 (T5).
  • Does NOT block: concept tier; the OP-B decision packet (T2).
  • Owner/candidate: COUNCIL + sovereign (H-2 ratifies). Recommended default: policy→COUNCIL; substrate/health→KG-SYS+SIV; execution→DOT; render→MOUT (interim TTL); law→NRM-SYS.
  • Required next macro: T2 (council decision packet, draft minutes only — do NOT bind into governance_registry, do NOT enact).
  • Acceptance: owner-per-scope confirmed/adjusted + C-4 ruled; draft minutes produced.
  • Design now? YES (decision packet, T2). Implement now? NO (binding is H-2).

C-1 — object/axis ownership edge: new table vs widen CHECK

  • Status: OPEN. Recommended default: new governance_object_ownership table (additive, no migration risk). Pairs with SB-2. Council to ratify. Blocks apply. Design (T4) now; implement no.

C-2 — governance APR action-type bundle

  • Status: OPEN. Recommended default: one bundle of 4 (assign_governance_owner with handler; the rest council-review). Pairs with SB-1. Blocks apply. Design (T3) now; implement no.

C-4 — review_decision as approval adapter vs full Đ32

  • Status: OPEN. Recommended default: record as a governed approval-adapter exception (11-field, with replacement_plan to migrate to Đ32). Blocks IU approval routing. Decide in T2 packet; implement no.

C-5 — render ownership: COUNCIL delegation vs GOV-MOUT activation

  • Status: OPEN. Đ28 is agency-orphaned today. Recommended default: delegation now (TTL), GOV-MOUT activation as end-state. Blocks render-binding (T8). Design now (T8 scaffold); activation deferred.

C-6 — shareable-but-personal boundary (A2) + legacy-bypass deadline (A3)

  • Status: OPEN. Recommended defaults: (A2) Class-0 → governed at export/share; (A3) 60 days. Council ratification; proceeds on default — does not block design.

H-1 — how new clauses become enacted law

  • Status: OPEN (human). Recommended: separate human-ratification phase (council_review + manual/admin-fallback enact into normative_registry). Blocks enactment (T11 law side). Not designed/built here.

H-2 — OP-B owner-binding ratification

  • Status: OPEN (human). Sovereign ratifies the C-3 assignment into live governance_registry. Blocks live IU owner-binding. Not done here.

3.3 Law-drift blockers (content-only; GOV-NRM-SYS; block a law patch, not concept)

ID Blocker Evidence Blocks Design now?
L-1 Enacted-law drift Đ45 ban_hanh=false leftover lines; Đ36 v4.0 (index) vs v5.0 (file) ambiguity; enacted Đ37 v3.3 text vs live columns (gov_type/created_by_law/relation_type/enforcement_role + capability JSON not in the law). law-file patch YES — DRAFT corrections only (T1)
L-2 Law-registration gap normative_registry (47 rows) lacks Đ20, Đ23, Đ44, Đ45 — yet IU runs under Đ44 (draft), events under Đ45, design-before-impl under Đ20, DOT-scan under Đ23. law-file patch + clauses referencing these laws YES — DRAFT registry rows / ratification packet (T1)
L-3 Phantom-definition wording per-source-model phantom (model-A stale-actual write-race ≠ phantom; model-B genuine record>actual) drafted but un-ratified. law-tier wording YES — DRAFT wording only

T1 may produce DRAFT law-text corrections and DRAFT normative_registry rows as a packet. It must not write to normative_registry / law_catalog / governance_docs, enact, or version-bump.

3.4 Other substrate observations (not hard apply-blockers, but feed later tracks)

ID State Disposition (track)
SB-4 No governance/coverage/axis/orphan/anarchy/island/exception event-type domain; mother.* rows active=false; system_issues.issue_type free-text (no CHECK). register-before-emit under a GOV-SIV governance/integrity domain; reuse thiếu_quan_hệ/sai_lệch_dữ_liệu for orphan/drift — T7.
SB-5 amend_law/enact_nrm handlers unimplemented; enact-via-APR id 204–210 all rejected. enactment = human phase (H-1) — T11.
SB-6 os_proposal_approvals = 0; apr_approvals = 42 all S178 DOT-repair; no governance/IU/axis/coverage approval ever. COMMIT_FORBIDDEN — human phase (H-1) — T11.
SB-7 governance_audit_log = 1 stale row. activate the Đ37 §5.5 audit loop (reuse table + registry_changelog/event_outbox), do not replace — T6/T11.
SB-8 dot_coverage_required = 11 (birth/collection/governance.approval/monitoring.dot only). add coverage rows for governance.coverage/classification/pivot/axis/iu — T6.
SB-9 law_catalog(5) stale; governance_docs(12) drifted UI index. content-only (L-1/L-2) — T1.

3.5 The readiness boundary (gates in one table)

Tier Gate (all must be met) Status
Concept / principle canonical design carry M-DEF-1..10 + §0-GOV + flag blockers GO — done
Substrate design (T3/T4/T5) concept GO + (for T5) OP-B decided GO for design (T3/T4 now; T5 after T2)
Apply / remediation binding (build) SB-1 + SB-2 + SB-3 resolved NO-GO
IU surface / owner-binding (build) OP-B (C-3) + C-4 NO-GO
IU axis-envelope generalization (substrate build) IU technical design after OP-B (SB-3) NO-GO
Render-binding (build) C-5 NO-GO
Law-file patch content-only L-1 + L-2 first, then a separate law-patch macro NO-GO for patch; DRAFT design GO (T1)
Law enactment separate human phase: SB-5 + SB-6 + H-1 NO-GO

No gate may be satisfied by self-approval. A council/human ruling is recorded only through the proper enact/approval path, never invented by an agent.

Back to Knowledge Hub knowledge/dev/reports/architecture/one-roof-governance-technical-addendum-and-implementation-index-2026-06-01/03-blocker-register-and-gates.md