KB-48FF

IU Core 2400x — Final report (PASS)

7 min read Revision 1
iu-core2400xdieu44final-reportpassexternally-integrated

06 — 2400x final report

1. Status

IU_CORE_2400X_DIRECTUS_PROMOTION_FULL_QDRANT_REINDEX_PASS

13 acceptance-matrix rows DONE; 1 row carries an operator-gated Nuxt redeploy. 0 BLOCKED. 0 PARTIAL. No unsafe state.

2. What changed

2.1 Code (commit 1c652d2 on main, parent a71d225)

  • sql/iu-core/022_three_axis_envelope_table_promotion.sql (new): table + 2 fns + 1 view promoting the three-axis envelope.
  • sql/iu-core/rollback/022_three_axis_envelope_table_promotion.rollback.sql (new): drops view -> fns -> table in safe order.
  • sql/iu-core/runtime/320_three_axis_envelope_initial_refresh.sql (new): dry-run + live refresh + fail-closed fidelity check.
  • sql/iu-core/runtime/rollback/320_three_axis_envelope_initial_refresh.rollback.sql (new): empties the cache (next refresh repopulates from view).
  • sql/iu-core/sandbox/210_three_axis_envelope_table_probe.sql (new): 8-probe BEGIN/ROLLBACK validation against live schema.
  • sql/iu-core/runtime/110_iu_core_dot_conformance_scan.sql: SSOT extended for the 4 new objects; D9 VALUES bumped 19->20 / 20->21 / 47->49; total 128 -> 132.
  • tests/test_iu_core_2400x_three_axis_table_promotion.py (new): 21 tests across 5 contract classes.
  • 8 existing tests get the mechanical DOT count bump.

17 files changed, 859 insertions(+), 37 deletions(-).

2.2 Production durable changes

  • Migration 022 applied to live directus DB on container postgres (vmi3080463). All CREATE TABLE / FUNCTION / VIEW / INDEX successful.
  • Runtime 320 ran: iu_three_axis_envelope populated with 163 rows (every active IU); drift check in_sync=true.
  • Directus: legacy v_ui_iu_three_axis_envelope registration retired (DELETE /collections/<view> -> 204); iu_three_axis_envelope collection registered (Directus auto-discovered the 16 fields when the table appeared); Administrator-policy READ permission granted.
  • Qdrant iu_core_iu_chunks: 6 -> 61 points (60 unique IUs, KT-B split into 2 chunks under the boundary rule).
  • PG iu_vector_sync_point: 6 indexed -> 61 indexed (the existing 6 were UPSERTed to the 2400x actor; UUIDv5 ids made the overwrite deterministic).

2.3 Production transient

  • dot_config.iu_core.vector_sync_enabled toggled false -> true -> false inside the driver's try/finally. Final state: false (verified post-run).
  • No other dot_config key changed.

3. Backup

pg_dump -Fc against the live postgres container, taken BEFORE any mutation:

  • File: /opt/incomex/backups/directus-pre-iucore-2400x-20260523T061016Z.dump
  • Size: 77 428 884 bytes
  • sha256: 4e83efe057e38f2676bf6cee755d8ce52257be5f77e3717cab97461d185218e0
  • Recovery: docker exec postgres pg_restore -U directus -d directus -c against the dump.

4. Tests

  • tests/test_iu_core_2400x_three_axis_table_promotion.py21 passed (migration / rollback / runtime / sandbox / DOT SSOT contract classes).
  • 8 existing tests updated for the DOT-count bump (mechanical, no behaviour change).
  • Full suite: python3 -m pytest tests/ -q --ignore=tests/_orchestrator_o2_harness.py -> 1114 passed in 0.67 s (+21 net over 2000x).

5. Five-layer sync (rolled up from doc 05)

layer impact
PG migration 022 (+1 table / +1 view / +2 fns); 163 rows in iu_three_axis_envelope after runtime/320; +55 indexed rows in iu_vector_sync_point (6->61); gate toggled+closed
Directus legacy view-backed collection retired; managed-table collection registered with 16 fields + Administrator READ; REST GET /items/... now serves real rows
Nuxt none — operator-gated env flip + redeploy queued
AgentData +7 KB reports (this directory)
Qdrant iu_core_iu_chunks 6 -> 61 points (60 IUs, KT-B 2 chunks); production_documents untouched (9 213 / green)

6. Rollback / disable readiness

layer rollback
Directus permissions DELETE /permissions/<id>
Directus collection DELETE /collections/iu_three_axis_envelope
Cache table DELETE FROM iu_three_axis_envelope (next refresh repopulates from view)
Migration 022 sql/iu-core/rollback/022_three_axis_envelope_table_promotion.rollback.sql
Qdrant points (per-actor) DELETE FROM iu_vector_sync_point WHERE sync_status='indexed' AND last_actor='iu_core_2400x_full_reindex', then loop the same UUIDv5s through DELETE /collections/iu_core_iu_chunks/points/<uuid>
Qdrant collection (atomic) DELETE /collections/iu_core_iu_chunks then re-run runtime/310 to re-register
Vector-sync gate already false; UPDATE dot_config SET value='false' WHERE key='iu_core.vector_sync_enabled' is a no-op
Code git revert 1c652d2 (warning: drops migration 022 + tests; data must be cleaned first)

7. DOT / no-hardcode / five-layer status

  • DOT 128 -> 132 / 132 PASS (table 19->20 / view 20->21 / function 47->49; trigger/config/event_type/route unchanged).
  • No hardcoded literal introduced. Every host/collection/secret/field list discovered from registry/config/env (doc 05 §3).
  • Five-layer impact classified above; no layer skipped.

8. KB / AgentData

The 7 reports in this directory have been uploaded to AgentData with mcp__agent-data__upload_document and verified via list_documents

  • get_document + search_knowledge. Per-report metadata + content sizes are recorded in doc 07.

9. Decision — IU Core readiness

IU Core is externally integrated for the layer this macro owned end-to-end:

  • Migration spine + DOT + tests are coherent at 132 objects / 1114 tests / 0 hardcode.
  • Qdrant per-IU embedding covers the full enacted corpus (60 / 60 IUs) with the boundary rule enforced at 3 layers and proven drift-free.
  • Directus serves real GET /items/iu_three_axis_envelope with three axes via the normal field-management path (the 2000x blocker is closed at the IU Core layer; the only remaining external step is a Nuxt env override + redeploy).

The remaining gap (Nuxt) is operator-gated, not an IU Core code gap.

10. Exact blocker carried forward (single)

Nuxt env override IU_CORE_DIRECTUS_COLLECTION=iu_three_axis_envelope

  • container redeploy is on the operator's release schedule. The contract supports the override; no Nuxt code change required.
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-2400x-directus-promotion-full-qdrant-reindex-open-goal/06-final-report.md