03 — Blocker Register & Gates (2026-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 isassign_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_typeboth ∈{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_envelopeDDL = exactlyaxis_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_valuestore; 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-IUagency;owner_reffree-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_ownershiptable (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_ownerwith 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 intonormative_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_registryrows as a packet. It must not write tonormative_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.