KB-5847 rev 2

10000x · 00 — PASS summary (Piece Platform DOT lifecycle + event-runtime foundation)

5 min read Revision 2
iu-corev0.610000xpiece-platformsplitmergesupersedeevent-runtimelive-applypass-summary

IU Core 10000x — Piece Platform DOT Lifecycle + Event Foundation (PASS)

Macro tag: IU_CORE_10000X_PIECE_PLATFORM_DOT_LIFECYCLE_PASS Date: 2026-05-24 Repo: Huyen1974/iu-cutter — main post-commit Parent commit: 46c3c33 (9000x) This commit: d88d08b

Outcome

Phase Status
A. Baseline + repo verification + KB read PASS
B. Dependency closure (DOT inventory + fn signatures) PASS
C. Fresh pg_dump backup PASS (79.4MB sha 054bd99c…)
D. dot_iu_supersede_piece wrapper for fn_iu_supersede PASS
E. Migration 027 — fn_iu_piece_split + iu_split_set ledger PASS (live)
F. Migration 028 — fn_iu_piece_merge + iu_merge_set ledger PASS (live)
G. Sandbox refusal probes (18 branches across 260/270) PASS (live)
H. Bounded live proof — 3 dry-runs on real enacted IU PASS (no mutation)
I. Piece Event Runtime foundation seed (6 piece.* events) PASS (live, inert)
J. DOT scan + runtime/280 catalog seed bumps PASS (live)
K. Full test suite (1232 -> 1305, +73) PASS
L. Regression — corpus / vsp / gates / production_documents PASS unchanged
M. Author-mode-only event outbox + handler design PASS (no DDL)

What this macro added live to PG

  • 2 new tables: iu_split_set, iu_merge_set (append-only lineage ledgers; UNIQUE idempotency_key; rolled_back_at soft-rollback; min-2-children/sources CHECK).
  • 2 new functions: fn_iu_piece_split, fn_iu_piece_merge (SECURITY DEFINER; pinned search_path; advisory lock; app.canonical_writer marker; NULL review_decision refusal; cutter_governance FK probe; content-policy refusal of empty body; dry-run early-return; sha256 idempotency).
  • 6 event types: piece.created/updated/split/merged/retired/superseded (INERT).
  • 3 catalog rows: dot_iu_supersede_piece, dot_iu_split_piece, dot_iu_merge_piece.

What this macro did NOT touch

  • production_documents Qdrant collection: untouched.
  • iu_vector_sync_point: 152 rows unchanged.
  • iu_core_iu_chunks Qdrant collection: 149 points unchanged.
  • information_unit: 163 rows unchanged.
  • All 6 IU Core write gates remain false. Retention false.
  • PR #669: not merged. Nuxt: not deployed.
  • No daemon / cron started for piece events.

DOT conformance D9 verdict (live)

Class Expected Found OK
table 25 25 t
view 23 23 t
function 56 56 t
trigger 5 5 t
config 10 10 t
event_type 21 21 t
route 16 16 t
TOTAL 156 156 t

8000x: 146 -> 10000x: 156 (+10 = +2 tables, +2 functions, +6 event_types).

Test deltas

Macro Tests
9000x baseline 1232
10000x (this) 1305

73 new tests in tests/test_iu_core_10000x_piece_lifecycle.py; 12 pre-existing pinning tests bumped.

Bounded live proof

3 dry-run calls on real enacted DIEU IU returned plan_ok (supersede) and dry_run_ok (split, merge). Post-proof: information_unit=163, vsp=152, iu_split_set=0, iu_merge_set=0, no iu_lifecycle_log rows in proof window — true read-only proof. Write-proof intentionally NOT executed: no SCRATCH IUs in corpus; constitution forbids broad production mutation. Sandbox 18 refusal branches are the strongest available substitute.

Discoveries

  1. cutter_governance.review_decision PK column is review_decision_id, not id. Caught live by sandbox 260.8/270.8 probes; fixed in same macro before commit.
  2. cutter_governance.cut_change_set PK is change_set_id.
  3. fn_iu_create signature: (canonical_address, title, body, actor, unit_kind, section_type, owner_ref, publication_type, parent_ref).
  4. dot_iu_command_catalog.target_functions is fn names only — listing a table breaks R280 all_resolvable.

Carry-forward

  1. Add iu_piece_event_outbox + per-fn emit hooks (specified in ops/piece-event-runtime-package-10000x/02-).
  2. cutter_agent/iu_core/piece_event_handler.py worker.
  3. healthcheck.py 8th surface piece_events_backlog.
  4. dot_iu_piece_event_dead_letter + dot_iu_piece_event_replay.
  5. Optional write-proof under explicit governance approval.
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-10000x-piece-platform-dot-lifecycle-open-goal/00-pass-summary.md