IU Core 4000x — 01 macro · scope · gates · disposition
01 — 4000x macro · scope · gates · disposition
1. Macro identity
IU_CORE_4000X_UI_RUNTIME_ACCEPTANCE_MONITORING_ROLLOUT_OPEN_GOAL — the
follow-up to 3000x's PARTIAL_WITH_EXACT_GAP. Single 45–60 minute block,
4000x scale, parallel execution across UI / runtime / monitoring / acceptance
/ rollout / lessons.
2. Entry state (verified before any mutation)
- Migrations 001–023 applied; runtime 010–330 applied.
- DOT 136/136 (21 tables / 22 views / 50 functions / 3 triggers / 9 config / 15 event_type / 16 routes).
- 60 enacted IUs / 163 envelope rows /
current_drift.in_sync = true/cache_healthy = true. - Qdrant
iu_core_iu_chunks: 61 points / 60 unique IUs / 1 multi-chunk unit (KT-B). Payload carriesunit_id,chunk_index,chunk_count,axis_refs.{source,semantic,hierarchy}. - All write gates inert: composer / delivery / operator_runtime /
structure_ops / vector_sync / three_axis_auto_refresh = false. (Routes
master + worker remain
truewithdry_runon every route — 240x state.) - 1500x
nuxt_assembly_contract.pyis the spec a frontend developer needs; the VPS Nuxt repo at/opt/incomex/docker/nuxt-repo/webhas zero IU Core source references (independently re-verified viagrep).
3. Backup before any mutation
pg_dump -Fc of the live directus DB against the postgres container on
vmi3080463:
- File:
/opt/incomex/backups/directus-pre-iucore-4000x-20260523T084654Z.dump - Size: 77 626 154 bytes
- sha256:
f18ae2f6512adabc186c84dbb87323e7f334c17e72f688e043915aca8a8970b7
4. What 4000x set out to close
| # | Slice | What |
|---|---|---|
| A | Migration 024 — auto-refresh trigger | Wire 023's drift-gated refresh wrapper to the live IU lifecycle (statement-level AFTER triggers on information_unit + iu_metadata_tag). |
| B | Deploy-ready Nuxt UI package | Author a compliant Vue + composable + compose + runtimeConfig snippet under ui-package/nuxt-iu-three-axis/, against the 1500x assembly contract and the existing VPS Nuxt repo conventions. |
| C | External healthcheck extension | Extend dot_iu_external_healthcheck with the auto-refresh trigger surface (gate / fires / errors). New dot_iu_three_axis_envelope_trigger_status command. |
| D | Real user flow smoke | Re-prove Directus REST per-axis filters, Qdrant per-IU boundary, drift-gated refresh against the live cache. |
| E | Tests + KB + commit | +25 net tests (4000x suite) on top of 1113 baseline → 1138 total. Seven KB reports under this directory. AgentData upload + verify. |
5. Mandatory gates (all PASS before any production mutation)
- Correct host + tools — MacBook repo
/Users/nmhuyen/iu-cutter-build/repo/iu-cutter, psql / pg_dump / SSH all present. - Target identity —
postgrescontainer onvmi3080463, dbdirectus, host fingerprint viassh contabo. - Fresh backup with sha256 (§3).
- Nuxt container current state —
docker inspect incomex-nuxtsnapshot captured; no env / restart performed. - Rollback paths exist before apply —
sql/iu-core/rollback/024_…rollback.sql+sql/iu-core/runtime/rollback/340_…rollback.sqlauthored alongside the forward migration. - DOT baseline clean — runtime/110 PASS at 136/136 before; PASS at 140/140 after migration 024 (table 21→22, function 50→51, trigger 3→5).
- Discover-first — every collection name / host / token / column name discovered from live catalog or container env; no string hardcoded in the new code (verified by
TestNoHardcodedSecretOrConnector). - Bounded + reversible — migration 024 = 1 table + 1 function + 2 triggers, all reversible by
024.rollback.sql. Runtime/340 = 1 audit row underactor='iu_lifecycle_trigger', reversible bydelete-by-actor. - Operator-runtime gate untouched (still false).
- Vector sync gate untouched (still false).
- Qdrant collection schema untouched — re-prove only, no reindex.
- Directus permissions untouched — re-prove only, no write.
- UI boundary preserved — Nuxt package is PG → Directus → Nuxt assembly; the Vue page uses
$directus.readItems(...)or the composable's wrapper overuseDirectus<>(readItems(...))only. - AgentData report upload+list+search verification path active (see doc 07).
6. Disposition
IU_CORE_4000X_UI_RUNTIME_ACCEPTANCE_PASS — 24 of 24 acceptance-matrix rows are either DONE (production-durable + verified) or DONE_WITH_EXTERNAL_BLOCKER (deploy-ready package authored; final copy + image rebuild + container restart is a frontend-developer / DevOps responsibility, intentionally outside IU Core macro scope per the 23-p3d UI boundary note).
Zero unsafe production state at exit. The auto-refresh trigger gate (iu_core.three_axis_auto_refresh_enabled) is false; the triggers are installed but inert until a future macro flips the gate. A controlled true → no-op UPDATE → false cycle was proven during runtime/340 and is the durable proof of trigger correctness.