40000x · 00 — PASS summary (focused subset)
40000x · 00 — PASS summary (focused subset, evidence-backed)
Macro: IU_CORE_40000X_ORCHESTRATOR_DOT_RETENTION_REFRESH_OPS_FINAL_READINESS
Outcome: IU_CORE_40000X_PARTIAL_PASS_FOCUSED_SUBSET — B+C+H+I+J live;
D/E/F/G explicit carry-forward (see 06-carry-forward.md).
Date: 2026-05-25
Repo HEAD (start): 6db364d — IU_CORE_25000X_PASS state.
Repo HEAD (end): c42871a — iu-core(40000x): focused subset.
Parent baseline: IU_CORE_25000X_EVENT_AUTOMATION_REAL_PRODUCT_SCALEOUT_UI_OPS_PASS.
Why focused subset
The macro's 10-objective body (B–J) was sized for a 55–60 min execution window. After live-baselined channel verification (~20 min), an honest scope-check confirmed that authoring + applying + verifying + reporting on all 10 objectives end-to-end in one Claude response would force shallow work and likely "fake-PASS" some phases — a direct constitution violation.
Per explicit user direction, the macro was reduced to a real, evidence-backed PARTIAL PASS on a focused subset:
- B — DOT registration migration 034 (author + apply + rollback proof + tests)
- C — Auto-instantiate log retention policy migration 035 (author + apply + dry-run only)
- H — Final Readiness Matrix
- I — Regression verification (Qdrant + axes + gates + production_documents)
- J — Commit + KB upload + list/read/search
Carry-forward (NOT failure): D envelope auto-refresh on auto-compose;
E larger durable scaleout 20–40; F internal event automation boundary
hardening; G UI / Ops / retention live closeout. Each has a dedicated
package outline in 06-carry-forward.md.
Headline
Moved Product Factory from "durable event-driven product factory + cross-template observability hardened" (25000x) → "governed DOT command vocabulary at productized boundary + age-based retention policy registered for the productized audit log" (40000x focused subset).
The two productized orchestrator functions shipped by 25000x
(fn_iu_auto_instantiate_from_event + fn_iu_auto_instantiate_rollback_by_actor)
are now first-class governed DOT commands — dot_iu_auto_instantiate_from_event
and dot_iu_auto_instantiate_rollback_by_actor. The productized audit log
(iu_auto_instantiate_event_log) is now under the same retention substrate
as the other append-only log tables; retention remains inert — gate
stays false, age-only policy (180 days), actor-scoped pruning is served
by the existing fn_iu_auto_instantiate_rollback_by_actor.
Surface
-
Migration 034 — DOT registration, applied LIVE @ prod:
+0 table / +0 view / +0 function / +0 trigger / +0 config / +0 event_type / +0 route— data-only catalog seed.+2 rowsinpublic.dot_iu_command_catalog:dot_iu_auto_instantiate_from_event(collection, mutating, reversible)dot_iu_auto_instantiate_rollback_by_actor(lifecycle, mutating, reversible)
R280_catalog24 → 26;R280_targetsall_resolvable=t (24 distinct functions across 26 commands).- D9 surface unchanged at 181 objects.
- Idempotent. Rollback REFUSED-guarded on
dot_iu_command_run. Live BEGIN/COMMIT cycle: 26 → 24 → 26 clean.
-
Migration 035 — Retention policy registration, applied LIVE @ prod:
+0 table / +0 view / +0 function— uses the migration-025 substrate.+1 rowinpublic.iu_core_retention_policy:target_table=iu_auto_instantiate_event_log, age_column=created_at, keep_days=180, actor_scope=NULL(age-only).
iu_core_retention_policy3 → 4 rows.iu_core.retention_enabledremainsfalse(gate inert).- Dry-run sanity:
rows_eligible=0,rows_deleted=0,dry_run=true(all 13 existing rows are <180 days old). - Rollback verified live (4 → 3 → 4 clean).
-
Python SSOT updated:
cutter_agent/iu_core/dot_commands.py_REGISTRY32 → 34 entries. -
DOT catalog: 26 governed entries (was 24).
-
R280 seed: mirrors Python registry; expected 26.
-
Pinning tests updated in the same commit (500x and 540x both 24 → 26).
Live regression matrix (post-mutation, against 25000x baseline)
| Surface | 25000x | 40000x | Δ | Verdict |
|---|---|---|---|---|
information_unit |
175 | 175 | 0 | invariant ✓ |
iu_collection_template_registry |
4 | 4 | 0 | invariant ✓ |
iu_collection_template_version |
4 | 4 | 0 | invariant ✓ |
iu_collection_template_instance_lineage |
17 | 17 | 0 | invariant ✓ |
iu_auto_instantiate_event_log |
13 | 13 | 0 | invariant ✓ |
iu_piece_collection |
24 | 24 | 0 | invariant ✓ |
iu_piece_membership |
118 | 118 | 0 | invariant ✓ |
iu_lifecycle_log |
146 | 146 | 0 | invariant ✓ |
iu_vector_sync_point |
152 | 152 | 0 | invariant ✓ |
event_outbox total |
123460 | 123460 | 0 | invariant ✓ |
event_type_registry |
26 | 26 | 0 | invariant ✓ |
dot_iu_command_catalog |
24 | 26 | +2 | expected ✓ |
iu_core_retention_policy |
3 | 4 | +1 | expected ✓ |
| DIEU axes (DIEU-28 / -32 / -35) | 27 / 23 / 36 | 27 / 23 / 36 | 0 / 0 / 0 | invariant ✓ |
Qdrant iu_core_iu_chunks |
149 | 149 | 0 | invariant ✓ |
Qdrant production_documents |
9456 (memory) | 9499 (live) | +43 | external drift — not caused by this macro |
| IU Core write gates inert | 11 / 11 | 11 / 11 | 0 | all closed post ✓ |
| Tests passing | 1324 | 1324 | 0 | green ✓ |
| D9 conformance | 181 / 7 PASS | 181 / 7 PASS | 0 | green ✓ |
Authority boundary — what this macro did NOT do
- PR #669 — UNTOUCHED (not even read-only).
- Nuxt — UNDEPLOYED.
- Retention — NOT ENABLED. Gate remained
false; the new policy is a registration only. production_documents— UNTOUCHED by this macro. The +43 drift is external Directus activity.- No external delivery.
- No daemon / no cron started.
- No DB writes outside migration 034 (2 catalog rows) and migration 035 (1 policy row).
Pre/post backups
- Pre-mutation pg_dump:
/root/backups/iu_core_pre_40000x_20260525T053755Z.dump— 80,630,943 bytes — sha2569c2a3541e26769eeab806006b408cc2ae99158ce6bd801bb705c8d748008a72d - Post-mutation pg_dump:
/root/backups/iu_core_post_40000x_20260525T060307Z.dump— 80,689,210 bytes — sha256ec6813fd6b5a7ea1c7fc5a86f1526c5ae51e5a7b77b45420838647a97cea0fae
Pointers
- Migration 034:
sql/iu-core/034_auto_instantiate_dot_registration.sql+rollback/034_…rollback.sql - Migration 035:
sql/iu-core/035_auto_instantiate_log_retention_policy.sql+rollback/035_…rollback.sql - R280 seed (SSOT):
sql/iu-core/runtime/280_operator_runtime_catalog_seed.sql - Python registry (SSOT):
cutter_agent/iu_core/dot_commands.py - Pinning tests:
tests/test_iu_core_500x_operator_surface.py,tests/test_iu_core_540x_operator_runtime.py - Final Readiness Matrix:
04-final-readiness-matrix.md - Carry-forward package outlines:
06-carry-forward.md - Commit:
c42871a