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"]
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_composeminted 7 IUs + composedworkflowcollection.fn_iu_collection_validateok=true 7 pieces.fn_iu_collection_renderordered 7 rows.fn_iu_collection_manifest_refreshidempotent digest0d1da72850c71618a759cf08709f3825across two refreshes. - Phase E — File from 5 piece specs.
fn_iu_composeminted 5 IUs across title/intro/body/appendix/reference roles.filecollection digest0032f9ef0633726c9f96819c3b2d7d00. 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-001composed by feeding the SAME 7 iu_ids tofn_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_enabledfalse→true. Calledfn_iu_piece_emit_event('split',…)directly → returned event UUID. Inserted 3iu_lifecycle_logrows withtransition_type IN (split,merge,supersede)→ trigger fired → mapped tosplit/merged/superseded.v_piece_event_outboxaccumulated 4 rows (1 direct + 3 trigger), allemit_mode='dry_run'.event_outbox.event_domain='piece'accepted (mig 030 verified by live INSERT). Healthcheck ok=true throughout. - POST-ROLLBACK —
leftover_collections_12000x=0,leftover_ius_12000x=0,leftover_lifecycle_12000x=0,event_outbox_piece=0, every gate back tofalse.
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, orevent_outbox. All write gates inert in durable state. - No PR merge, no Nuxt deploy, no retention enable, no Qdrant write, no
production_documentstouch — verified by post-rollback durability check and Qdrant point-count regression (iu_core_iu_chunks=149,production_documents=9423unchanged 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-…)
- 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.
- 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.
- 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".