IU Core 500x durable — 01 Precheck, survey, backup, gates
01 — Precheck, live survey, backup, gates
- Macro:
IU_CORE_500X_DURABLE_AUTOCUT_OPERATOR_MUTATION_TEXTCODE_OPEN_GOAL - Date: 2026-05-22
- Host: MacBook/dev
/Users/nmhuyen/iu-cutter-build/repo/iu-cutter - Production: VPS
vmi3080463(sshcontabo), containerpostgres(postgres:16, server 16.13), DBdirectus, roledirectus.
1. Host + tools
MacBook host has git, python3, psql, pg_dump and SSH access to the
VPS. SQL is applied by piping each self-transacted file through
ssh contabo 'docker exec -i postgres psql -U directus -d directus -v ON_ERROR_STOP=1'. Gate 1 PASS.
2. Production identity
current_database = directus, server PostgreSQL 16.13, information_unit
160, iu_piece_collection 2, iu_piece_membership 5,
dot_iu_command_catalog 17, dot_iu_command_run 4 — matches the
500x integrated-autocut/operator-runtime final report exactly. Gate 2 PASS.
3. 500x state verification
Surveyed read-only before any change:
- Gates:
composer_enabled=false,delivery_enabled=false,operator_runtime_enabled=false,routes_master_enabled=true,route_worker_enabled=true,structure_ops_enabled=false,delivery_live_routes=''— the 500x end-state, unchanged. runtime/110DOT scan: 113/113, every D9 classok, D8 drift 0.- Composer events: 4 on the
'delayed'lane. Route attempts 59dry_run+ 1sent(the historical 60x internal proof). Dead-letter open 0. dot_iu_command_run4 rows — the 540x operator-runtime read-only proof (runtime_540x_proof).sandbox/130re-run on the live schema: 9/9.sandbox/140(integrated auto-cut → composer,BEGIN…ROLLBACK): 6/6.- baseline 932 tests pass locally before this macro's work.
Production was exactly at the 500x integrated-autocut/operator-runtime surface. No production repair needed.
4. 500x / 540x naming hygiene
The prior macro's 7 AgentData reports lived under a 500x directory but
carried 540x titles and tags. Repaired: each report's title + tags
normalised to the canonical 500x family label (revision 1 → 2), content
preserved byte-identical, no duplicate document created. Verified via
list_documents + search_knowledge. See doc 05.
5. Package integrity
runtime/290_durable_autocut_composer_run.sql (+ runtime/rollback/290) —
present, self-transacted; CREATE-free (data only: INSERT … ON CONFLICT
gate toggle + one fn_iu_compose call); no ALTER / DROP / DELETE.
Gate 5 PASS.
6. Backup — Gate 3 PASS
pg_dump -Fc of the directus DB:
- Path:
/opt/incomex/backups/directus-pre-iucore-500x-durable-20260522T112557Z.dump - Size: 76,196,481 bytes
- sha256:
6527301b77a7d051495088ceffed0590eda20943efcbdb4b632bdf6d48452cab - Verified:
pg_restore -lreads a valid archive (dbname: directus), 3159 archive entries.
7. Gate summary
All 16 mandatory gates PASS before the first production mutation: correct host+tools, target identity, fresh verified backup, DOT/no-hardcode baseline clean (113/113), package integrity, candidate scope discovery-selected, bounded+reversible operation, rollback file present before apply, registry-backed vocabulary, runtime structurally unable to bypass governed SQL, auto-cut cannot run uncontrolled CUT, governed birth gate, tree consistency, worker dry-run-only, fail-closed text-as-code import, known disable path, AgentData report path.