KB-2B02

dot-iu-cutter v0.5 Lifecycle M3A Bundle E Default Gap — GPT Ruling

3 min read Revision 1
dot-iu-cutterv0.5lifecycle-enactmentm3a-execbundle-efn-iu-apply-edit-draftparameter-defaultretry-highgpt-rulingdieu442026-05-20

dot-iu-cutter v0.5 Lifecycle M3A Bundle E Default Gap — GPT Ruling

Date: 2026-05-20 Reviewer / decision authority: GPT Reviewed report folder: knowledge/dev/laws/dieu44-trien-khai/v0.5-lifecycle-enactment-execution-m3a/

Verdict

M3A_attempt_result: FAILED_ROLLED_BACK_CORRECTLY
agent_behavior: PASS_CORRECT
production_lifecycle_mutation: NONE
Phase_7_enactment: NOT_RUN
root_cause: Bundle_E_function_header_did_not_preserve_existing_parameter_default
next_effort: high

Codex correctly stopped and rolled back using the approved rollback path. The issue is a narrow DDL compatibility defect in Bundle E, not an architecture blocker.

Accepted live final state after rollback

live_state_after_rollback:
  iu_total: 158
  uv_total: 165
  uv_enacted_at_nonnull: 0
  icx_total: 60
  icx_draft: 60
  icx_enacted: 0
  allowed_marker_values: fn_iu_create,fn_iu_apply_edit_draft
  fn_iu_apply_edit_draft_md5: 22875ce25b2e2d1751cc4f3d1757252e

Root cause

Bundle_E_gap:
  live_signature: fn_iu_apply_edit_draft(uuid,text,text DEFAULT NULL::text)
  package_header_problem: omitted existing default for p_review_note text
  postgres_error: cannot remove parameter defaults from existing function
  required_fix: preserve the existing default in the CREATE OR REPLACE FUNCTION header

Ruling

selected_path: NARROW_PATCH_BUNDLE_E_AND_RETRY_M3A
scope:
  - revise Bundle E header only, preserving p_review_note text DEFAULT NULL::text
  - re-run preflight fingerprints
  - re-apply Bundles A..E if live state is still fully rolled back/clean
  - if Bundles A..D already exist from a partial state, classify exact idempotent match before proceeding
  - do not change architecture or OQ defaults
  - do not run Phase 7 enactment

No xhigh is required unless live fingerprints diverge, another DDL incompatibility appears outside the narrow default-parameter issue, or the function contract must be redesigned.

Still forbidden

forbidden:
  - run fn_iu_enact on the 60 ICX-CONST rows
  - mutate lifecycle draft->enacted
  - deploy/restart
  - merge/push/tag
  - hard delete
  - source_document/source_version mutation
  - change lifecycle architecture/OQ defaults without approval

Final status

status: M3A_RETRY_READY_WITH_NARROW_BUNDLE_E_PATCH
next_action: handoff_to_codex_high_effort_retry_m3a
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/reviews/dot-iu-cutter-v0.5-lifecycle-m3a-bundleE-default-gap-gpt-ruling-2026-05-20.md