KB-7A84
6000x — Lifecycle Promotion + Qdrant Onboarding Packages
3 min read Revision 1
iu-core6000xlifecycle-promotionqdrant-onboardingdraft-refusal2026-05-24
6000x — Lifecycle Promotion + Qdrant Onboarding Packages
Date: 2026-05-24 Status: AUTHOR_MODE_ONLY (both packages); 24 new tests PASS (1163 → 1187).
Lifecycle promotion package
cutter_agent/iu_core/lifecycle_promotion.py— PromotionPolicy, ReadinessFinding, ReadinessReport, PromotionPlan, check_iu_readiness, check_corpus_readiness, build_promotion_plan.tests/test_iu_core_6000x_lifecycle_promotion.py— 14 tests: policy conservatism, happy-path, refusals (not_in_draft, axis_a_missing, axis_b_missing, orphan_parent, dup_canonical, invariants_failed, iu_not_found), corpus aggregation, plan shape.ops/lifecycle-promotion-package/README.md— operator workflow, rollback, governance handoff.
Live PG verification of the readiness policy (aggregate, fast SQL)
DIEU-35 + DIEU-28 + DIEU-32 (86 draft IUs):
| Check | Pass | Total | Result |
|---|---|---|---|
| axis_a (doc_code non-empty) | 86 | 86 | PASS |
| axis_b (section_type) | 86 | 86 | PASS |
| parent_or_container_ref resolves (11 distinct refs) | 11 | 11 | PASS |
| canonical_address unique | 86 | 86 | PASS (0 duplicates) |
| fn_iu_verify_invariants all_pass=true | 86 | 86 | PASS |
Eligibility verdict: every DIEU draft IU is eligible for fn_iu_enact promotion. Single remaining gate is the governance review_decision (BLOCKED_EXTERNAL).
Qdrant onboarding package
cutter_agent/iu_core/qdrant_onboarding.py— OnboardingPreflight, OnboardingRefusal, preflight_iu_ids, assert_enacted_only, onboard_enacted_set.tests/test_iu_core_6000x_qdrant_onboarding.py— 10 tests includingtest_dry_run_refuses_draft_before_any_qdrant_callproving the HTTP poster is NEVER called when input contains a draft IU.ops/qdrant-onboarding-package/README.md.
Refusal proof
# preflight returns non_enacted={iu-a: 'draft'}
with self.assertRaises(OnboardingRefusal):
onboard_enacted_set(iu_ids=["iu-a"], ..., dry_run=True)
self.assertEqual(poster.calls, []) # poster never called
Existing Qdrant state (untouched)
iu_qdrant_collection_registry: iu_core_iu_chunks | active.
iu_vector_sync_point indexed grouped by doc_code: <no_doc> | 61 (existing KT-B/ICX-CONST corpus). Zero DIEU vectors. Zero draft vectors. Convention preserved.
production_documents (GPT corpus) not queried.