KB-2645

Lifecycle DDL Ratification · 05 Git Status + Commit Result

5 min read Revision 1
dot-iu-cutterv0.5lifecycle-ddl-ratificationgit-commitg5-passdieu442026-05-20

dot-iu-cutter v0.5 — Lifecycle DDL Ratification · Git Status + Commit Result

doc 5 of 6 · 2026-05-20

phase    : G5 — commit local (no push/tag/deploy)
outcome  : PASS

1. Pre-commit state

repo_root          : /Users/nmhuyen/iu-cutter-build/repo/iu-cutter
current_branch     : feature/constitution-snapshot-mark-dryrun
HEAD_pre           : 32cfa939ca4025242c14e5de945f2cd8d95b5205
main_pre           : 32cfa939ca4025242c14e5de945f2cd8d95b5205  (HEAD == main)
working_tree_pre   : clean
remote             : none configured

2. Files staged

A  sql/lifecycle/README.md
A  sql/lifecycle/bundle_a_vocab_and_log.sql
A  sql/lifecycle/bundle_b_immutability.sql
A  sql/lifecycle/bundle_c_fn_iu_enact.sql
A  sql/lifecycle/bundle_d_gateway_and_grants.sql
A  sql/lifecycle/bundle_e_fn_iu_apply_edit_draft_patch.sql
A  sql/lifecycle/fingerprints.yaml
A  sql/lifecycle/rollback_runbook.sql
A  sql/lifecycle/verify_behavioral_probes.sql
A  sql/lifecycle/verify_postapply.sql
A  sql/lifecycle/verify_preflight.sql

11 files; only additions; no Python or pre-existing file modified.

3. Commit

commit_sha     : 1cd286e039357018c40a1281599e17961b848749
short_sha      : 1cd286e
branch         : feature/constitution-snapshot-mark-dryrun
parent         : 32cfa93
files_changed  : 11
insertions     : 1335
deletions      : 0
co_authored_by : Claude Opus 4.7 (1M context)

Commit message (subject + summary)

feat(sql/lifecycle): ratify M3a lifecycle DDL bundles A..E into operator-runbook track

Mirrors the sovereign-applied lifecycle substrate (v0.5 M3a-retry, 2026-05-20)
into a repo-tracked operator runbook for reproducibility. Bundles capture the
DDL byte-for-byte as stored in live PG: function bodies extracted from
pg_proc.prosrc and embedded in CREATE OR REPLACE statements; md5(prosrc)
matches the M3a-retry post-apply pins.

Full message includes the file inventory, fingerprint table, operator-runbook disclaimer, regression result, and a "no production DDL / no deploy / no remote push, no tag" affirmation.

4. Post-commit state

HEAD_post              : 1cd286e039357018c40a1281599e17961b848749
main_post              : 32cfa939ca4025242c14e5de945f2cd8d95b5205  (UNCHANGED)
main_equals_head_post  : false  (feature is ahead by 1 commit)
working_tree_post      : clean
push_executed          : false  (no remote configured; not authorized anyway)
tag_created            : false  (not authorized)
deploy_executed        : false  (not authorized)
restart_executed       : false  (not authorized)

5. Recent commit ladder (post-commit)

1cd286e  feat(sql/lifecycle): ratify M3a lifecycle DDL bundles A..E into operator-runbook track
32cfa93  feat(write-VERIFY/M2): add ledger_v2_canonical_verify DOT-992 recorder + tests
7133c44  feat(leg-B/M1): add ledger_v2_canonical_cut governed recorder + tests
6a56bc3  feat(canonical-path): add fn_iu_create canonical adapter + cutprod_canonical + tests
f20c79c  feat(R1): add --mode production-leg-a-only + execute_leg_a_only seam (UB-2)

6. main-branch fast-forward feasibility (NOT executed)

ff_feasible             : YES   (linear; main is direct ancestor of feature)
ff_commands_NOT_executed:
  - git checkout main
  - git merge --ff-only feature/constitution-snapshot-mark-dryrun
  - git checkout feature/constitution-snapshot-mark-dryrun
authorization_state     : NOT_AUTHORIZED_BY_THIS_MACRO
note                    : Earlier M4-FF macro fast-forwarded main 4367c83→32cfa93
                          under a separate sovereign ruling. The same single-line
                          ruling pattern would apply here for 32cfa93→1cd286e.
                          That call is sovereign; this macro stops at the
                          feature-branch commit.

7. Reversal command (NOT executed)

reverse_command_if_needed :
  - git checkout feature/constitution-snapshot-mark-dryrun
  - git reset --hard 32cfa93     # destructive; ONLY under sovereign approval
files_to_restore_post_reset :
  none (all 11 added files would be discarded; pre-commit state was clean)

8. Gate disposition

G5_clean_working_tree_pre        : PASS
G5_files_staged                  : PASS  (11/11 under sql/lifecycle/)
G5_commit_landed                 : PASS  (1cd286e on feature branch)
G5_commit_message_self_contained : PASS  (file inventory + md5 + disclaimer)
G5_main_unchanged                : PASS  (32cfa93)
G5_no_push                       : PASS  (no remote configured)
G5_no_tag                        : PASS
G5_no_deploy_restart             : PASS
G5_no_hooks_skipped              : PASS
G5_no_amend                      : PASS  (new commit, not --amend)

9. STOP

Local ratification commit landed. Proceed to doc 06 (final macro report).

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.5-lifecycle-ddl-ratification-runbook/05-git-status-commit-result-2026-05-20.md