KB-A0CB

40000x · 00 — PASS summary (focused subset)

7 min read Revision 1
iu-core40000xpass-summaryfocused-subsetdot-registrationretentioncarry-forward

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 commandsdot_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 rows in public.dot_iu_command_catalog:
      • dot_iu_auto_instantiate_from_event (collection, mutating, reversible)
      • dot_iu_auto_instantiate_rollback_by_actor (lifecycle, mutating, reversible)
    • R280_catalog 24 → 26; R280_targets all_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 row in public.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_policy 3 → 4 rows.
    • iu_core.retention_enabled remains false (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 _REGISTRY 32 → 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 — sha256 9c2a3541e26769eeab806006b408cc2ae99158ce6bd801bb705c8d748008a72d
  • Post-mutation pg_dump: /root/backups/iu_core_post_40000x_20260525T060307Z.dump — 80,689,210 bytes — sha256 ec6813fd6b5a7ea1c7fc5a86f1526c5ae51e5a7b77b45420838647a97cea0fae

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
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-40000x-orchestrator-dot-retention-readiness-open-goal/00-pass-summary.md