IU Core 480x — 07 Next macro package
07 — Next Macro Package
State at handoff
- Code commit
9025911onmain(parentbdf6559); KB commitf1349b3. 843 tests. - Production directus DB is at migrations 001–015 + the runtime layer through
250— DOT 84/84, unchanged this macro. - Authored, not yet applied: migration
016,runtime/260,runtime/270(post-apply DOT 104/104). - Durable
iu-tree/text-as-code export committed (corpus 158 IUs + pilot collection manifest).
The one blocker (exact)
The 480x durable production apply is blocked on tooling, not safety. This
session's MCP surface has no pg_dump (mandatory gate 3) and no
DDL-execution path (query_pg is read-only). The apply must run from a host
with psql + pg_dump access to the production directus DB.
Apply runbook — the FIRST next macro (IU_CORE_480X_PRODUCTION_APPLY)
Run from a host with production DB access; all files are self-transacted:
- Backup —
pg_dump -FcthedirectusDB; record bytes + sha256;pg_restore -lmust list a validPGDMPheader. (Mandatory gate 3.) - Apply
sql/iu-core/016_composer_event_wiring.sql. - Apply
sql/iu-core/runtime/260_composer_event_family_register.sql— verify R1 (8 event types active) + R2 (8 routes enabled+dry_run). - Run
sql/iu-core/sandbox/110_composer_event_workflow_probe.sql—BEGIN...ROLLBACK, every_proberowpass=true,SANDBOX_110_VERDICTall_pass=true. - Apply
sql/iu-core/runtime/270_composed_from_scratch_collection.sql— verify R270: collection present, 2 pieces, 2 IUs minted, composer events emitted (1collection_created+ 2piece_added+ 1collection _rendered), gate closed. - Run
sql/iu-core/runtime/110_iu_core_dot_conformance_scan.sql— D9 must report 104/104, D8 drift guard 0 rows. - Disable path if needed:
rollback/016,runtime/rollback/260,runtime/rollback/270.
Open gaps carried forward
- Durable apply — the runbook above (the immediate next macro).
- First integrated production auto-cut run — drive a real orchestrator
CutResultthroughbuild_autocut_compose_approval_package->fn_iu_composedurably; the approval package (doc 04) is the contract. - External delivery gate — every composer route is
dry_run=true; adry_run=falsedelivery into the internal seam is a separate sovereign macro (fn_iu_route_deliveris still the controlled internal-only path). - Text-as-code controlled import/apply —
propose_collection_importis fail-closed and non-destructive; a real durable importer (parse -> propose -> gated apply) is a separate macro.IMPORT_IS_DESTRUCTIVEstaysFalseuntil then. - Axis-B inferred lane — still 0 rows; needs a deterministic classifier (carried from 120x/240x).
- UI / Directus / Nuxt surface —
v_iu_composer_event_backlog/v_iu_collection_export_status/v_iu_collection_manifestare ready to power a composition observability + file-builder UI. - Qdrant / vector sync —
iu-tree/_corpus/corpus-manifest.md+ the per-collection manifests are natural deterministic units to vector-index.
Recommended next macro
IU_CORE_960X_PRODUCTION_APPLY_AND_INTEGRATED_AUTOCUT — combine the apply
runbook (gap #1) with the first integrated production auto-cut run (gap #2):
back up, apply 016 + 260 + 270, prove DOT 104/104, then drive one real
orchestrator cut through the approval package into fn_iu_compose durably,
with the composer event family observing it on the bus. Both halves are
additive, reversible, and already designed by this macro — 960x = the 480x
apply slice + the integrated-autocut slice.
Alternatives if production access stays unavailable: the text-as-code controlled importer (gap #4) and the axis-B inference pass (gap #5) are both fully repo-side and need no production mutation.