KB-2F95

IU Core 7000x — Governance / Promotion / Qdrant gates BLOCKED with exact gap

5 min read Revision 1
iu-corev0.67000xgovernancereview-decisionmanifest-envelopefn-iu-enactfn-iu-supersedecompensation-gap

IU Core 7000x — Governance / Promotion / Qdrant gates → BLOCKED_WITH_EXACT_GAP

B. Governance review_decision — BLOCKED at upstream authorship

review_decision schema (live)

25 columns. NOT NULL: review_decision_id, governance_event_kind, manifest_id (uuid, FK → manifest_envelope.envelope_id), manifest_version, review_scope, status, verdict, findings (jsonb), reviewer_class, reviewer_identity (jsonb), risk_class_assessment, decision_at, decided_by, cross_signed_by_dot_verifier, version, created_at, updated_at.

NULL-able: manifest_unit_local_id, reviewer_independence_evidence, escalation_ref, cut_change_set_ref, prior_review_decision_id, superseded_by_review_decision_id, tool_revision, review_duration_ms.

FK constraints on review_decision

  • review_decision_manifest_fk: manifest_id → cutter_governance.manifest_envelope(envelope_id)
  • review_decision_unit_block_fk: (manifest_id, manifest_unit_local_id) → manifest_unit_block(envelope_id, unit_local_id)
  • review_decision_prior_fk / review_decision_superseded_fk: self-FK

Prior 3 rows (snapshot)

  • a1696b09-1278-44be-9017-6f44be22eb33 — review_decision/manifest/automated_agent/review_authority/0.4.0-dryrun-skeleton/1970-01-01 (skeleton).
  • 29c88a7b-60f7-41bd-af45-43cc9b9f41c0 — cut_first_controlled_canonical/manifest/sovereign/GPT/User/1.0.0/2026-05-20 (ICX-CONST cut approval).
  • af323ae3-39a5-4958-95b8-5acfba8f6984 — lifecycle_phase7_enactment/phase7_lifecycle_enactment:ICX-CONST/sovereign/GPT/User/1.0.0/2026-05-20 09:03 (the 60-row enactment).

manifest_envelope live universe (2 rows)

  • 450e2991-72a7-45ca-a066-90b99814ed10 — cut/proposed/source_doc_ref=26a8c4e8-c07c-5ff4-8854-ab55ef4fcf81/cutter_exec
  • 638cf363-f45a-4bb3-b9bb-928c5e24c15b — cut/applied/source_doc_ref=icxconst-008a06ace23a96ea6cd456146e805c97/cutter_exec/DOT-991/constitution-cut

manifest_unit_block universe

All 25 blocks reference envelope 638cf363. unit_local_id values: ICX-CONST/{DIEU-5..43, KT-A, KT-B, KT-C, NT-1..15}. Zero rows reference DIEU-35/28/32 v0.6.

Exact gap

For a DIEU-35/28/32 review_decision, FK chain requires:

  1. New manifest_envelope row (operation_kind = lifecycle_enactment likely; source_doc_ref identifying DIEU sources).
  2. 86 new manifest_unit_block rows binding each candidate.
  3. Then review_decision row referencing the new envelope.

7000x authority grants step 3 only. Steps 1+2 are governance authorship — outside the narrow approval. Safety contract: "If governance shape is unclear, do not fake it; author exact blocker and continue safe branches."

B = BLOCKED_AT_UPSTREAM_GOVERNANCE_AUTHORSHIP_AUTHORITY

C. Lifecycle promotion execution — BLOCKED at compensation gate

Live pg_proc discovery:

  • fn_iu_enact(text, text, uuid, text DEFAULT 'enacted', uuid, text, text, boolean) → jsonb — exists.
  • fn_iu_verify_invariants(text) → jsonb — exists.
  • fn_iu_supersede — count = 0.
  • fn_iu_retire — count = 0.

README anchor: "Per-IU rollback of fn_iu_enact is not directly possible — atomic FSM transition. Compensation = supersede + retire via future fn_iu_supersede / fn_iu_retire (FSM-recognized but not yet implemented)."

Authority pack precondition: "Promote only ... if rollback/compensation package exists." The compensation package does not exist in code form; only whole-DB pg_dump exists, which is global not per-IU.

C = BLOCKED_AT_COMPENSATION_GATE

No fn_iu_enact call was made. The 86 IUs remain lifecycle_status='draft'; readiness remains 86/86 PASS.

Carry-forward: implement fn_iu_supersede(uuid, text, uuid, text, text) + fn_iu_retire(text, text, uuid, text) as FSM-recognized successors of fn_iu_enact, then re-run a 7000x-class macro under fresh sovereign approval.

D. Qdrant onboarding execution — BLOCKED gated on C

qdrant_onboarding.preflight_iu_ids correctly refuses non-enacted IUs by design. If invoked with 86 draft DIEU candidates: requested=86, enacted=0, non_enacted=86, not_found=0 — preflight returns is_ok=False, raises OnboardingRefusal. No mutation.

Existing iu_core_iu_chunks (61 pts / 60 unique unit_ids; multi-chunk d3ad5874 chunks=2) is UNTOUCHED. KT-B convention preserved. iu_core.vector_sync_enabled gate remains false.

D = BLOCKED_GATED_ON_C

Carry-forward: re-run Qdrant onboarding for DIEU corpus after fn_iu_enact succeeds in 7300x.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-7000x-governance-promotion-qdrant-execution-open-goal/02_governance_promotion_qdrant_gates_blocked.md