KB-CC3D rev 2

18000x · 00 — PASS summary (Template Versioning + Bulk Scaleout + Internal LIVE Event @ prod, fd971b4 → 38b954d)

7 min read Revision 2
iu-corev0.618000xpass-summarytemplate-versioningmigration-032bulk-instanceinternal-live-eventauto-instantiatecross-template-observability

18000x · 00 — PASS summary

Macro: IU_CORE_18000X_TEMPLATE_VERSIONING_BULK_SCALEOUT_EVENT_OPS_CLOSEOUT Outcome: IU_CORE_18000X_TEMPLATE_VERSIONING_BULK_SCALEOUT_EVENT_OPS_PASS Date: 2026-05-25 Repo HEAD (start): fd971b4 (clean, main) — IU_CORE_15000X_PASS state Repo HEAD (end): 38b954d Parent baseline: IU_CORE_15000X_PRODUCTIZATION_OPERATOR_OPS_CLOSEOUT_PASS

Headline

Moved from "Product Factory productized + operator-ready" (15000x) → "Product Factory scaled, versioned, observable, with internal LIVE event proof" (18000x).

  • Migration 032 authored + applied LIVE: 1 sidecar table, 2 views, 2 functions — durable Template Versioning + Cross-Template Observability surface. Object surface 169 → 174 (no existing object touched). D9 PASS 7/7, D8 drift = 0.
  • v2 of tpl:wf:onboarding composed durably: 4 reused v1 pieces + 1 newly-minted "D10 30-day check-in" step. v2 manifest_digest 3e5047aaaba85151715f93c7ff2669be differs from v1's 2d3d37b60fd32963ddd7a6eef81aaad6 — versioning proven to support genuine evolution. v1 registered as version_seq=1, v2 as version_seq=2; v1 auto-superseded by fn_iu_collection_register_template_version.
  • Template piece mutation invariant proven (bounded BEGIN/ROLLBACK): supersede dry-run against a v1 piece + fn_iu_collection_manifest_refresh round-trip show template AND instance digests remain 2d3d37b60fd32963ddd7a6eef81aaad6. Policy: shared-graph by default, copy-on-instance = NO, propagation requires explicit v(N+1) compose.
  • Bulk instance generation at scale 3: 3 durable instances composed from v2 template (actor-tagged iu-core-18000x-bulk), all 3 with digest_matches_template=true. The 12000x Phase F invariant proven at bulk scale.
  • Bulk text-as-code export: 7 manifests serialized via cutter_agent.iu_core.text_as_code (2 templates + 1 file template + 1 demo instance + 3 bulk instances). 0 roundtrip failures, 0 digest mismatches.
  • Piece Event Runtime internal LIVE proof (bounded BEGIN/ROLLBACK): both gates flipped (emit_enabled=true, dry_run_only=false); fn_iu_piece_emit_event('updated', ...) emitted id 660488da-d0e7-4caf-b7ec-987b137b6b2a tagged emit_mode='live' (not dry_run). ROLLBACK reverted both gates and the row; post-rollback event_outbox WHERE event_domain='piece' count = 0. Ceiling: 7 piece-domain routes EXIST in iu_outbound_route but no external worker is permitted by the constitution.
  • Auto-instantiate-from-event design proven (sandbox BEGIN/ROLLBACK): a single _simulated_event row drove the consumer DO block to compose instance 8f4724e9-1624-4344-87ab-e800b10d220b from v2 + record lineage with digest_matches_template=true. Post-rollback: 0 rows, composer gate back to false. No daemon, no cron.
  • Cross-template observability via v_iu_template_observability (live): one row per template, joining registry (031) + version (032) + instance lineage cardinality + digest-match breakdown + flags (template_without_version, version_without_template_marker). Surfaces the unversioned tpl:file:status-report/v1 as template_without_version=true (legitimate carry-forward).
  • 2 new governed DOT commands: dot_iu_register_template_version + dot_iu_retire_template_version (catalog 22 → 24, R280 PASS, all_resolvable=t).
  • Tests: 1324 → 1324 PASS (13 pinning tests bumped in same commit; counts 27/26/61 → 28/28/63 and len(governed)=22=24).
  • Healthcheck: 8/8 GREEN (no new surface added; observability is structurally a view-only addition).
  • All write gates remain inert post-macro (8 IU Core writes + 2 piece event runtime gates).
  • Qdrant unchanged within macro: iu_core_iu_chunks 149 → 149; production_documents 9456 → 9456 (external owner baseline; constitution forbids any touch).
  • PR #669 untouched (no remote in this clone).
  • Retention still disabled; 3 retention policies remain inert.

Drift summary

Surface Pre-macro Post-macro Delta
DOT object total 169 174 +1 tbl, +2 view, +2 fn (Versioning + Observability)
DOT command catalog 22 governed 24 governed +2 versioning DOTs
iu_piece_collection 6 10 +1 v2 template, +3 bulk instances
iu_piece_membership 23 (active) 43 (active) +5 v2 template, +5×3 bulk instances
information_unit 173 174 +1 D10 step piece minted into v2
Template registry 2 3 +1 v2 marked
Lineage rows 1 4 +3 bulk instances linked to v2
Version chain rows 0 2 v1 (superseded) + v2 (current) in tpl:wf:onboarding
Qdrant indexed pts 149/9456 149/9456 UNCHANGED
Write gates inert 8/8 + 2/2 8/8 + 2/2 UNCHANGED
Tests 1324 PASS 1324 PASS 13 pinning tests bumped same commit

Backups (/root/backups/ on contabo)

Phase File Bytes sha256
pre pre-iucore-18000x-baseline.dump 80,374,570 125042a325626f899c3419eea8e70e5f53dcebd5a732285a4062e04f6bc82820
post post-iucore-18000x.dump 80,396,588 6c6622984b6f767d140daa0b562a22c401a28ba5197e8aeda646f34708a39fa9

Delta: +22,018 bytes — consistent with +5 DDL objects + +1 IU + +4 collections + +20 memberships + 1 template registry row + 3 lineage rows + 2 version rows + 2 catalog rows.

See also (00..11 + addendum)

  • 01-baseline-channel-pack.md
  • 02-template-versioning-gap-matrix.md
  • 03-migration-032-substrate.md
  • 04-v2-template-creation-and-version-chain.md
  • 05-mutation-invariants-proof.md
  • 06-bulk-instance-generation-and-export.md
  • 07-piece-event-runtime-internal-live-proof.md
  • 08-auto-instantiate-from-event-proof.md
  • 09-regression-matrix.md
  • 10-lessons-and-carry-forward.md
  • 11-evidence-bundle-pointer.md
  • OPERATOR_RUNBOOK_18000X_ADDENDUM.md
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-18000x-template-versioning-bulk-scaleout-event-ops-open-goal/00-pass-summary.md