KB-69E6
6000x — Input Contract Matrix (productization)
6 min read Revision 1
iu-core6000xinput-contractproductization2026-05-24
6000x — Input Contract Matrix
Macro: IU_CORE_6000X_LIFECYCLE_QDRANT_OPS_PRODUCTIZATION_CLOSEOUT
Date: 2026-05-24
Repo commit at start: b17578d (parent b478822)
Repo commit after this macro: ec72cb3
Authority discovery method: live (gh, ssh, psql) — not memory.
Authority classes:
- EXECUTABLE_NOW — local author + tests + KB upload; no external authority required.
- EXECUTABLE_IF_GATE_PASS — locally executable if a named PG gate is open; gate currently closed.
- AUTHOR_MODE_ONLY — package authored; execution belongs to a separately-approved macro.
- BLOCKED_EXTERNAL_AUTHORITY — owner outside the IU Core macro chain (frontend/DevOps, host root, sovereign approver).
| # | Branch | Authority class | Live evidence | Exact command / path | Rollback / disable | Allowed action | Forbidden action | Decision |
|---|---|---|---|---|---|---|---|---|
| 1 | Lifecycle promotion package | EXECUTABLE_NOW | cutter_agent/iu_core/* writable; tests run | new lifecycle_promotion.py + tests + ops/lifecycle-promotion-package/ | delete files | author module, policy, checker, plan dataclass | execute fn_iu_enact | DONE |
| 2 | Lifecycle promotion execution | BLOCKED_EXTERNAL_AUTHORITY | governance owns cutter_governance.review_decision; no decision row exists for DIEU-35/28/32 | fn_iu_enact(canonical, actor, review_decision_id) | corpus-level pg_restore | none | call fn_iu_enact | BLOCKED_EXTERNAL |
| 3 | Draft-vector policy | EXECUTABLE_NOW | author-only doc | ops/draft-vector-policy/README.md | delete doc | author analysis | implement draft collection | DONE |
| 4 | Qdrant onboarding package | EXECUTABLE_NOW | vector_sync.py patterns reusable; qdrant_onboarding.py new | cutter_agent/iu_core/qdrant_onboarding.py + tests + ops/qdrant-onboarding-package/ | delete files | author preflight, refusal, dry-run orchestrator | live upsert without gate/enacted set | DONE |
| 5 | Qdrant onboarding execution | BLOCKED_EXTERNAL_AUTHORITY | DIEU has 0 enacted IUs (86 draft, 0 enacted); preflight refuses | n/a — input does not exist | n/a | none | upsert any DIEU vector | EXACT_GAP (input absent) |
| 6 | PR #669 update | EXECUTABLE_NOW | gh pr view 669 OPEN/MERGEABLE; bot comment present | gh pr comment 669 | edit/delete comment | update comment if needed | merge | DONE (existing comment sufficient) |
| 7 | PR #669 merge/deploy | BLOCKED_EXTERNAL_AUTHORITY | merge belongs to frontend/DevOps | gh pr merge 669 --squash | revert commit + redeploy prior tag | hand off package | merge / deploy | BLOCKED_EXTERNAL |
| 8 | Mac cron pilot | EXECUTABLE_NOW | crontab -l shows wrapper; jsonl has 4 successful 7/7 GREEN fires (last 02:40Z) | ops/healthcheck-cron-package | install/uninstall.sh | re-verify, add stale_detector | replace with system-level systemd | DONE (re-verified) |
| 9 | Production cron/monitoring install | AUTHOR_MODE_ONLY | no user-level access to always-on host granted | ops/monitoring-productization/ (authored, not run on always-on host) | uninstall.sh | author package | sudo install | DONE (package authored) |
| 10 | Retention enablement | AUTHOR_MODE_ONLY | gate iu_core.retention_enabled='false' live; substrate present | ops/retention-productization/README.md | UPDATE dot_config SET value='false' | author flip sequence + rollback | flip gate | DONE (package authored) |
| 11 | Retention execution | EXECUTABLE_IF_GATE_PASS | gate closed; dry-run = 0 rows eligible | fn_iu_core_retention_cleanup('actor', false) after gate open | restore from pg_dump | dry-run | live delete | DRY_RUN_DONE |
| 12 | AgentData sync | EXECUTABLE_NOW | mcp__agent-data tools available | mcp__agent-data__upload_document | delete_document | upload + list + search reports | n/a | DONE |
| 13 | Directus / API smoke | EXECUTABLE_NOW (read-only) | envelope 163 rows, DIEU-28/32/35 all 86 in envelope depth 0–2 | psql / Directus REST GET | n/a | read-only smoke + drift check | live Nuxt UI smoke without deployed route | DONE |
| 14 | Final product readiness matrix | EXECUTABLE_NOW | this report row | 06-product-readiness-matrix-2026-05-24.md | n/a | author matrix | claim DONE for items not proven | DONE |
Decisions applied
- Qdrant draft IUs — "do not index draft" applied. 86 IUs all draft → preflight refuses → onboarding package authored but NOT executed. Enacted-only convention preserved.
- PR #669 — "do not merge" applied. Owner = frontend/DevOps.
- Retention — "keep gate false" applied. Dry-run only.
- Cron / monitoring — "package only if no user-level host access" applied.
- Nuxt — "factory only" applied. PR #669 carries the factory artifact; macro does NOT hand-edit Nuxt source.
Headline finding (live evidence)
For DIEU-35/28/32, 86/86 draft IUs PASS:
- axis A (doc_code) non-empty: 86/86
- axis B (section_type) non-empty: 86/86
- parent resolution (11 distinct refs): 11/11 resolved
- canonical_address uniqueness: 0 duplicates
- invariant pass (fn_iu_verify_invariants): 86/86 all_pass=true
The DIEU corpus is technically promotion-ready. The remaining gate is the governance cutter_governance.review_decision artifact (BLOCKED_EXTERNAL_AUTHORITY for this macro).