KB-5422

12000x · 00 — PASS summary (Product Factory execution + event proof, 4 phases bounded BEGIN/ROLLBACK)</title> <parameter name="tags">["iu-core","v0.6","12000x","product-factory","pass-summary","begin-rollback","piece-event-runtime"]

6 min read Revision 1

12000x · 00 — PASS summary

Macro: IU_CORE_12000X_PRODUCT_FACTORY_EXECUTION_AND_EVENT_PROOF Outcome: IU_CORE_12000X_PRODUCT_FACTORY_EXECUTION_AND_EVENT_PROOF_PASS Date: 2026-05-25 Repo HEAD: 3d56afa (clean, main) Parent baseline: IU_CORE_11000X_PIECE_EVENT_RUNTIME_AND_PRODUCT_FACTORY_PASS

Headline

Moved from "Product Factory foundation discovered" (11000x) → "Product Factory execution proven" (12000x). All four execution phases ran live with the in-tx gate-toggle pattern and rolled back to ZERO persistent mutation:

  • Phase D — Workflow from 7 step pieces. fn_iu_compose minted 7 IUs + composed workflow collection. fn_iu_collection_validate ok=true 7 pieces. fn_iu_collection_render ordered 7 rows. fn_iu_collection_manifest_refresh idempotent digest 0d1da72850c71618a759cf08709f3825 across two refreshes.
  • Phase E — File from 5 piece specs. fn_iu_compose minted 5 IUs across title/intro/body/appendix/reference roles. file collection digest 0032f9ef0633726c9f96819c3b2d7d00. Validate ok=true 5 pieces.
  • Phase F — Template + instance (shared piece graph). Phase D workflow re-used as TEMPLATE. Instance iu_core.12000x.workflow.invoice-approval.instance-001 composed by feeding the SAME 7 iu_ids to fn_iu_compose (no new pieces minted). Identity check: tpl=7 inst=7 shared=7 tpl_only=0 inst_only=0. Template digest = Instance digest = 0d1da72850c71618a759cf08709f3825 — the manifest digest is computed over the piece graph, not collection identity.
  • Phase G — Event runtime emission. In-tx flipped piece_event_runtime.emit_enabled false→true. Called fn_iu_piece_emit_event('split',…) directly → returned event UUID. Inserted 3 iu_lifecycle_log rows with transition_type IN (split,merge,supersede) → trigger fired → mapped to split/merged/superseded. v_piece_event_outbox accumulated 4 rows (1 direct + 3 trigger), all emit_mode='dry_run'. event_outbox.event_domain='piece' accepted (mig 030 verified by live INSERT). Healthcheck ok=true throughout.
  • POST-ROLLBACKleftover_collections_12000x=0, leftover_ius_12000x=0, leftover_lifecycle_12000x=0, event_outbox_piece=0, every gate back to false.

Why this matters

This validates the 11000x foundation AS A Product Factory, not just substrate. The macro proves that the existing primitives compose into the four target products (workflow from steps, file from piece specs, reusable template, instance-from-template) and that the 11000x event runtime emits the right events on the right transitions — all while leaving production state byte-identical.

Constitutional posture (unchanged from 11000x)

  • No hardcode, DOT 100%, discover-first, no fake PASS — every assertion links to a transcript line.
  • No production mutation — BEGIN/ROLLBACK only; ZERO rows added to information_unit, iu_piece_collection, iu_piece_membership, iu_lifecycle_log, or event_outbox. All write gates inert in durable state.
  • No PR merge, no Nuxt deploy, no retention enable, no Qdrant write, no production_documents touch — verified by post-rollback durability check and Qdrant point-count regression (iu_core_iu_chunks=149, production_documents=9423 unchanged vs 11000x baseline).
  • Reversibility — the gate-toggle inside BEGIN/ROLLBACK pattern is inherently reversible.

Regression (live re-verified post-proofs)

Surface Baseline (11000x) Live (12000x) Δ
Repo HEAD 3d56afa 3d56afa none
Tree clean clean none
pytest 1324 PASS 1324 PASS none
information_unit 163 163 none
iu_piece_collection 3 3 none
iu_piece_membership 8 8 none
iu_lifecycle_log 146 146 none
event_outbox total 122308 122308 none
event_outbox event_domain=piece 0 0 none
Qdrant iu_core_iu_chunks pts 149 149 none
Qdrant production_documents pts 9423 9423 none
iu_vector_sync_point 152 152 none
Healthcheck surfaces ok 8/8 8/8 none
iu_core.composer_enabled false false none
iu_core.retention_enabled false false none
iu_core.structure_ops_enabled false false none
iu_core.vector_sync_enabled false false none
piece_event_runtime.emit_enabled false false none
piece_event_runtime.dry_run_only true true none
PR #669 web-test OPEN/MERGEABLE OPEN/MERGEABLE none
Mac cron */10 exit 0 0 none

Capability Matrix outcome

All 9 Product Factory capabilities in the brief are LIVE_READY and proven. The two "remaining" items (process_template_as_piece_graph and generate_instance_from_template) are subsumed by fn_iu_compose's existing {iu_id:<uuid>} branch — exercised for the first time in Phase F. No migration 031 was authored.

Report set

  • 00-pass-summary.md (this file)
  • 01-baseline-channel-pack.md — repo + DB + Qdrant baselines
  • 02-product-factory-capability-matrix.md — 9-row matrix
  • 03-phase-D-workflow-from-steps.md
  • 04-phase-E-file-from-piece-specs.md
  • 05-phase-F-template-instance-proof.md
  • 06-phase-G-event-runtime-emission-proof.md
  • 07-text-as-code-roundtrip-proof.md
  • 08-regression-matrix.md
  • 09-lessons-and-carry-forward.md
  • 10-evidence-bundle-pointer.md

Lessons (full text in 09-…)

  1. Foundation-vs-execution distinction matters. 11000x said five primitives "remain" but live discovery showed they were already shipped. Lesson: live discovery before authoring is non-negotiable.
  2. Gate-toggle inside BEGIN/ROLLBACK is a clean reversibility pattern. The composer + event-emit gates can be flipped inside a transaction, exercised, and reverted on ROLLBACK without affecting durable state.
  3. Manifest digest is over the piece graph, not the collection. Template and instance produced byte-identical digests because the digest is keyed on (piece_order, iu_id, role). Formal justification for "pieces are the primitive design unit".
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-12000x-product-factory-execution-event-proof-open-goal/00-pass-summary.md