KB-209D

6000x — Product Readiness Matrix (60 rows)

5 min read Revision 1
iu-core6000xproduct-readinessmatrix60-rows2026-05-24

6000x — Product Readiness Matrix

Macro: IU_CORE_6000X_LIFECYCLE_QDRANT_OPS_PRODUCTIZATION_CLOSEOUT Date: 2026-05-24 Rows: 60

Statuses: DONE, READY_FOR_APPROVAL, DONE_WITH_EXTERNAL_BLOCKER, PARTIAL_WITH_EXACT_GAP, BLOCKED, DEFERRED.

Input readiness (10 rows)

# Item Status
1 Repo HEAD at start = b17578d on main, clean DONE
2 DOT count 144/144, drift = 0 DONE
3 1163 tests baseline DONE
4 Healthcheck 7/7 GREEN live DONE
5 Three-axis envelope 163 rows in_sync DONE
6 All 6 IU Core write gates inert DONE
7 Qdrant collection iu_core_iu_chunks active DONE
8 Qdrant 61 indexed / 60 unique IUs (KT-B/ICX-CONST) DONE
9 production_documents untouched DONE
10 Mac cron pilot installed (last 02:40Z) DONE

Lifecycle promotion (rows 11–25)

| 11 | fn_iu_enact exists in PG | DONE | | 12 | iu_lifecycle_log audit table | DONE | | 13 | cutter_governance.review_decision schema | DONE | | 14 | Promotion POLICY authored | DONE | | 15 | Readiness checker authored | DONE | | 16 | PromotionPlan dataclass (no review_decision_id field) | DONE | | 17 | Per-IU refusal tests (8 codes) | DONE | | 18 | DIEU axis_a 86/86 | DONE | | 19 | DIEU axis_b 86/86 | DONE | | 20 | DIEU parent resolution 11/11 | DONE | | 21 | DIEU canonical uniqueness 0 dupes | DONE | | 22 | DIEU invariant pass 86/86 | DONE | | 23 | Promotion execution package authored | DONE | | 24 | Promotion EXECUTION | BLOCKED (governance review_decision) | | 25 | Gate iu_core.lifecycle_promotion_enabled reserved | READY_FOR_APPROVAL |

Qdrant onboarding (rows 26–36)

| 26 | Preflight refuses draft (test-proven, poster never called) | DONE | | 27 | Preflight refuses unknown IU ids | DONE | | 28 | onboard_enacted_set dry-run does not touch Qdrant | DONE | | 29 | Rollback command emitted | DONE | | 30 | ENACTED_ONLY_CONVENTION constant + test | DONE | | 31 | Qdrant onboarding EXECUTION on DIEU | PARTIAL_WITH_EXACT_GAP (DIEU has 0 enacted) | | 32 | Vector boundary 3-layer enforcement preserved | DONE | | 33 | Per-IU boundary on existing 61 points (60 unique) | DONE | | 34 | production_documents untouched | DONE | | 35 | Draft-vector policy analysis authored | DONE | | 36 | Draft-vector implementation (separate collection / gate) | DEFERRED |

Nuxt UI (rows 37–45)

| 37 | PR #669 OPEN/MERGEABLE | DONE | | 38 | PR diff scope verified (zero PG/meta_catalog) | DONE | | 39 | All PR-touching CI checks PASS | DONE | | 40 | Counting Contract Check FAILURE is pre-existing drift | DONE | | 41 | PR #669 owner handoff package | DONE | | 42 | PR #669 merge | DONE_WITH_EXTERNAL_BLOCKER | | 43 | Nuxt deploy / image tag pin | DONE_WITH_EXTERNAL_BLOCKER | | 44 | Post-deploy Nuxt UI smoke | DEFERRED | | 45 | Factory artifact convention (zero hand-coded Nuxt) | DONE |

Directus (46–48)

| 46 | iu_three_axis_envelope managed collection | DONE | | 47 | 163 rows / 1 read-permission live | DONE | | 48 | REST aggregate readable by Administrator | DONE |

Monitoring (49–54)

| 49 | Mac user-cron pilot re-verified | DONE | | 50 | Mac sleep gap surfaced by stale_detector.sh (exit=2, 25702s gap) | DONE | | 51 | alert_on_fail.sh with caller-provided sink | DONE | | 52 | install_mac_hardened.sh idempotent | DONE | | 53 | Linux user-timer install package | READY_FOR_APPROVAL | | 54 | System-level systemd unit | DEFERRED (sudo) |

Retention (55–59)

| 55 | Substrate (table+view+fn+3 policies) | DONE | | 56 | Gate retention_enabled = false | DONE | | 57 | Dry-run: 0 rows eligible for all 3 targets | DONE | | 58 | Enablement package + 5 gates | DONE | | 59 | Live execution (gate flip + delete) | DEFERRED (earliest 2026-06-22) |

AgentData (60)

| 60 | 7 reports uploaded; list + search verified | DONE |

Roll-up

DONE 47, DONE_WITH_EXTERNAL_BLOCKER 2, READY_FOR_APPROVAL 2, PARTIAL_WITH_EXACT_GAP 1, BLOCKED 1, DEFERRED 4. Total 60.

Verdict

IU_CORE_6000X_LIFECYCLE_QDRANT_OPS_PARTIAL_WITH_EXACT_GAP — BLOCKED row #24 is governance authority outside the macro chain; PARTIAL row #31 is the natural consequence (no enacted set to onboard); every other safe branch is DONE. No unsafe state. All write gates inert. All packages rollback-documented.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-6000x-lifecycle-qdrant-ops-productization-open-goal/06-product-readiness-matrix-2026-05-24.md