KB-ECC4

IU Core 2000x — Final report

5 min read Revision 1
iu-core2000xfinal-reportexternal-pass

06 — 2000x final report

1. Status

IU_CORE_2000X_QDRANT_REINDEX_DIRECTUS_APPLY_EXTERNAL_PASS

10 acceptance-matrix rows DONE; 2 DONE_WITH_EXTERNAL_BLOCKER (Directus field-permission quirk — operator decision required). 0 BLOCKED. No unsafe state.

2. What changed

2.1 Code (commit 900d4c3 on main, parent 8c7d8dc)

  • cutter_agent/iu_core/vector_sync.py
    • new QDRANT_POINT_ID_NAMESPACE constant + point_id_for() helper.
    • QdrantConnector.upsert_points now sends UUIDv5 as id; human key rides in payload.
    • record_plan accepts status='indexed' (DB function is the authoritative gate).
  • cutter_agent/iu_core/directus_registration.py
    • directus_collections_payload() adds Directus v11–required meta.searchable and switches to schema=None for view-backed registrations.
  • tests/test_iu_core_2000x_qdrant_id_and_indexed_apply.py — NEW, 8 regression tests covering both defect-fixes end-to-end.
  • tests/test_iu_core_1500x_qdrant_directus_nuxt.py — one test rewritten + one added.
  • tests/test_iu_core_1k_vector_sync_lease.py — two tests updated.

2.2 Production durable changes

  • Qdrant iu_core_iu_chunks 0 → 6 points (5 IUs, 1 IU split into 2 chunks). All under the per-IU boundary rule.
  • PG iu_vector_sync_point +6 rows, all sync_status='indexed', last_actor='iu_core_2000x_bounded_reindex'.
  • Directus directus_collections +1 row registering v_ui_iu_three_axis_envelope (view-backed). Visible in GET /collections (264 collections total).

2.3 Production transient

  • dot_config.iu_core.vector_sync_enabled toggled false -> true -> false during the bounded apply (inside try/finally). Final state: false.
  • One Directus permission row created for diagnosis and deleted.

3. Backup

pg_dump -Fc against the live postgres container:

  • File: /opt/incomex/backups/directus-pre-iucore-2000x-20260523T033615Z.dump
  • Size: 77 194 461 bytes
  • sha256: 812803183870538208a6d5e4816139e0f6ef019e0ac3647f0df61f9ded4dec84

Backup taken BEFORE any production mutation.

4. Tests

  • Targeted: 8 new tests all passed.
  • Vector boundary regression: 104 passed.
  • Full suite: 1093 passed in 0.65s (+10 net over 1500x).

5. Exact blocker carried forward

Directus v11 returns HTTP 403 on POST /fields/<col> and GET /items/<col> for the view-backed schema=null registration, even under the Administrator policy with admin_access=true.

Two operator paths (doc 03 §5):

  • Path A: migration 022 promotes the view to a materialised table.
  • Path B: operator adds the 16 fields + grants READ in the Directus admin UI (bypasses the REST permission check).

The macro does NOT pick a path — both are external operator decisions.

6. Five-layer sync

layer impact
PG +6 iu_vector_sync_point rows (indexed); no DDL
Directus +1 directus_collections row (view-backed)
Nuxt none (contract artifact only)
AgentData +7 KB reports
Qdrant +6 points in iu_core_iu_chunks; production_documents untouched

7. Rollback / disable readiness

  • Qdrant points: DELETE /collections/iu_core_iu_chunks/points/{uuid} per point or DELETE /collections/iu_core_iu_chunks.
  • PG registry rows: DELETE FROM iu_vector_sync_point WHERE last_actor='iu_core_2000x_bounded_reindex'.
  • Vector-sync gate: already closed.
  • Directus collection: DELETE /collections/v_ui_iu_three_axis_envelope.
  • Code: git revert 900d4c3 (re-introduces both defects).

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

  • DOT count of 128/128 carried forward unchanged (no new DDL).
  • No new hardcoded literal. One new versioned namespace constant with a regression test that locks it in.
  • Five-layer impact classified above.

9. 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.

10. Decision — IU Core readiness

Yes — externally integrated for the layer this macro owned. The two remaining external blockers (Directus field-permission quirk) are operator/deploy decisions, not IU Core gaps.

  • IU Core code is feature-complete for the external integration surface (Qdrant live reindex proven end-to-end with real OpenAI + real Qdrant; Directus package proven against live admin REST).
  • Two real defects in 1500x code caught + fixed in production-grade regression tests.
  • 1093 tests passing.
  • All gates inert at end.
  • No unsafe state.
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-2000x-qdrant-reindex-directus-apply-external-pass-open-goal/06-final-report.md