KB-2D54

dot-iu-cutter v0.2 — BR-4/BR-5 Closure Readiness Report (2026-05-15)

12 min read Revision 1
dieu44-trien-khaidot-iu-cutterv0.2br-4br-5closure-readinessplanning-only2026-05-15

dot-iu-cutter v0.2 — BR-4 / BR-5 Closure Readiness Report

document_path: knowledge/dev/laws/dieu44-trien-khai/v0.2-planning/dot-iu-cutter-v0.2-br-4-5-closure-readiness-report-2026-05-15.md
revision: r1
date: 2026-05-15
author: Agent (Claude Code CLI, Opus 4.7 1M)
sovereign: User / anh Huyên
verifier: GPT (Đ32 HIGH-risk path — anticipated)
secondary: Opus
phase: v0.2 planning — BR-4 / BR-5 closure-readiness consolidation (planning only)
predecessors:
  - dot-iu-cutter-v0.2-br-4-authority-backfill-rule-design-2026-05-15.md
  - dot-iu-cutter-v0.2-br-5-dieu24-canonical-address-v1-ratification-request-2026-05-15.md
mutation_performed: false
ddl_written: false
phase_alpha_design_started: false

§1 — Headline

br_4_recommendation: Candidate B (derive from lifecycle_status mapping)
br_5_recommendation: ratify "canonical-address-v1" as the formal vocabulary identifier for the production syntax
br_4_status: pending_gpt_review (Đ0-G review request to be issued after GPT review)
br_5_status: pending_gpt_review (Đ24 council pass to be issued after GPT review)
br_4_5_can_be_ratified_now? NO — both await GPT review (and the downstream council passes)
phase_alpha_design_allowed_now: false
ddl_written: false
mutation_performed: false

This report does NOT close BR-4 or BR-5. It consolidates the recommendations and identifies what still has to happen before Phase α design can start.


§2 — BR-4 Summary

2.1 Recommendation

recommended_rule: Candidate B — Derive from lifecycle_status mapping

mapping_table:
  lifecycle_status='draft_only'  → authority='draft'
  lifecycle_status='active'      → authority='enacted'
  lifecycle_status='retired'     → authority='enacted'   (proposed; Đ0-G to confirm)

defaults_for_phase_alpha:
  ADD COLUMN authority text NULL                          (nullable through Phase α)
  column DEFAULT 'draft' for new writes
  backfill: UPDATE … SET authority = CASE lifecycle_status WHEN … END WHERE authority IS NULL

concrete_effect_on_current_86_rows: all 86 → 'draft'  (because all 86 are lifecycle_status='draft_only')
concrete_effect_on_sandbox_76_rows_if_backfilled: all 76 → 'draft' (same reason)

candidate_d_fallback_documented_but_NOT_implemented_in_phase_alpha:
  - lifecycle-transition write hook (trigger or app-layer) is Phase β / v0.3 work
  - NOT NULL constraint on authority added only after the write hook is wired

2.2 Why Candidate B (not A, C, D)

A_uniform_default: too loose; decouples authority from existing governance vocabulary
C_doc_code_regex: overengineered; circular coupling with BR-5 syntax ratification
D_hybrid_with_fallback: best long-term but its fallback (write-to-backlog) needs a trigger/app hook — out of Phase α scope; documented for Phase β

Full evidence: BR-4 design doc.

2.3 BR-4 review chain

chain:
  1. GPT review of the BR-4 rule design                   ← PENDING
  2. Đ0-G review of the mapping table (esp. retired→enacted)
  3. Đ32 risk-class confirmation (standard)
  4. ratification recorded in a closure document
br_4_closure_artefact_needed_before_phase_alpha_DDL: YES

§3 — BR-5 Summary

3.1 Recommendation

recommended_version_string: canonical-address-v1
(also acceptable short form for index payloads: cav1)

ratified_syntax (verbatim from the production data):
  D{doc}-DIEU{N}-{S{seg}|ROOT}[-P{n}][-{n}]

storage_encoding_rules:
  - ASCII only (no Vietnamese diacritics)
  - case-sensitive (upper-case canonical)
  - hyphen separator
  - no whitespace
  - no fixed max length; UNIQUE constraint enforces practical bound

storage_vs_display_decoupling:
  storage = ASCII canonical form  (canonical-address-v1)
  display = i18n human form (e.g., "Đ28 §2.1") via presentation-layer renderer — out of v0.2 P0 scope

deferred_explicitly_(NOT_in_v1):
  - non-law artifact formats (design artifacts, code symbols, reports, runbooks)
  - letter-prefixed sub-segments (e.g., S2-X1)
  - Đ24 backlog item for "canonical_address non-law format v1.1" to be ratified when a concrete production use-case emerges

3.2 Why "canonical-address-v1" (not "d38-v1")

canonical-address-v1: decoupled from any specific doc id; future-proof; self-documenting
d38-v1: NOT recommended — couples version label to a specific doc id; brittle when other docs land
short form 'cav1' acceptable for jsonb/index payloads if size matters
final label is Đ24's call — Agent recommendation is non-binding

Full evidence: BR-5 ratification request.

3.3 BR-5 review chain

chain:
  1. GPT review of the BR-5 ratification request            ← PENDING
  2. Đ24 council pass on the version label + grammar
  3. Đ32 risk-class confirmation (standard)
  4. ratification recorded in a closure document
br_5_closure_artefact_needed_before_phase_alpha_DDL: YES
  - the DEFAULT value of canonical_address_format_version column requires the ratified label

§4 — Can BR-4 / BR-5 Be Ratified Today?

br_4_can_be_ratified_today? NO
  reason: requires GPT review of the rule design + Đ0-G review of the mapping
  earliest_ratification: after both reviews close; ratification recorded in a separate closure doc

br_5_can_be_ratified_today? NO
  reason: requires GPT review of the ratification request + Đ24 council pass on the version label and grammar
  earliest_ratification: after both reviews close; ratification recorded in a separate closure doc

what_THIS_session_did:
  - authored BR-4 rule design with recommendation (Candidate B)
  - authored BR-5 ratification request with recommendation (canonical-address-v1)
  - authored this closure-readiness report
  - all three docs are in pending_gpt_review state
  - no DDL, no SQL mutation, no production change

§5 — Can Phase α Design Start After GPT Review?

phase_alpha_design_can_start_after_GPT_review_of_BR_4_BR_5? CONDITIONAL — depends on what GPT decides:

scenario_A_GPT_passes_both_recommendations_without_council_loop:
  outcome: BR-4 closed (with Đ0-G "in flight" caveat); BR-5 closed (with Đ24 "in flight" caveat)
  phase_alpha_design_can_start: YES, with the caveat that DDL DEFAULT values are subject to Đ0-G / Đ24 finalization before production execution
  NOT_recommended: starting Phase α design BEFORE council ratifications creates rework if councils revise the labels/mapping

scenario_B_GPT_passes_recommendations_AND_requires_council_loop_before_phase_alpha:
  outcome: GPT issues council requests; Phase α design WAITS for council closure
  phase_alpha_design_can_start: ONLY AFTER Đ0-G + Đ24 ratifications recorded
  recommended_path: scenario B — safer; matches v0.1 discipline

scenario_C_GPT_revises_recommendations:
  outcome: BR-4 or BR-5 sent back for revision
  phase_alpha_design_can_start: NO; waits on revised docs + re-review

agent_default_assumption: scenario B (council loop required) unless GPT explicitly elects scenario A
agent_self_advance_to_phase_alpha_design: PROHIBITED in all scenarios

§6 — Cumulative Blocker Status

ID Title Status Notes
BR-1 option selection CLOSED GPT selected Option D earlier in this session
BR-2 identity_profile inspection CLOSED this session
BR-3 reader/writer inventory CLOSED this session
BR-4 authority backfill rule design pending_gpt_review this session — recommendation: Candidate B
BR-5 Đ24 ratification of v1 syntax pending_gpt_review this session — recommendation: canonical-address-v1
BR-6 split/merge metadata propagation TD OPEN gates P0-2 design only; not Phase α DDL; the TD file at the documented path has NOT been read or authored by Agent in this session
BR-7 sandbox_tac role CLOSED (advisory) this session — Option II mirror recommended
hard_blockers_for_phase_alpha_DDL:
  - BR-4 (ratification needed)
  - BR-5 (ratification needed)
  - (BR-6 NOT blocking Phase α DDL; blocks only P0-2 design which is downstream of Phase α)

hard_blockers_for_phase_alpha_DESIGN_AUTHORING_(per_strict_v0_1_discipline):
  - BR-4
  - BR-5
  (Some teams might start design authoring after GPT review even before council ratification; v0.1 discipline says wait for ratification.)

recommended_next_action:
  1. GPT reviews:
     - BR-4 rule design (Candidate B)
     - BR-5 ratification request (canonical-address-v1)
     - this closure-readiness report
  2. If GPT approves the recommendations:
     - issue Đ0-G review request for BR-4 mapping (especially retired→enacted)
     - issue Đ24 council request for BR-5 version label + grammar
     - WAIT for both council passes
  3. Record ratifications in a separate closure doc per BR
  4. THEN authorize Phase α design under a separate explicit prompt
  5. Optionally in parallel: author / read the BR-6 split/merge TD (gates P0-2 only)

agent_self_advance: PROHIBITED at every step
explicit_prompt_required_before_phase_alpha_design_authoring: YES
explicit_prompt_required_before_any_phase_alpha_DDL: YES
explicit_prompt_required_before_any_phase_alpha_production_execution: YES

§8 — Negative Confirmations

no_DDL_written: TRUE
no_SQL_mutation: TRUE
no_ALTER_TABLE: TRUE
no_INSERT_UPDATE_DELETE: TRUE
no_migration: TRUE
no_change_to_tac_logical_unit: TRUE
no_change_to_sandbox_tac: TRUE
no_change_to_cutter_governance: TRUE
no_change_to_sister_tables: TRUE
no_app_code_modified: TRUE
no_directus_flow_modified: TRUE
no_design_started_for_phase_alpha: TRUE
no_BR_4_closure_recorded: TRUE
no_BR_5_closure_recorded: TRUE
no_council_ratification_assumed: TRUE
no_deploy: TRUE
no_CUT_or_VERIFY: TRUE
no_dry_run_env_modified: TRUE
output_form: br_4_5_closure_readiness_documentation_only

§9 — Cross-References

br_4_design: knowledge/dev/laws/dieu44-trien-khai/v0.2-planning/dot-iu-cutter-v0.2-br-4-authority-backfill-rule-design-2026-05-15.md
br_5_request: knowledge/dev/laws/dieu44-trien-khai/v0.2-planning/dot-iu-cutter-v0.2-br-5-dieu24-canonical-address-v1-ratification-request-2026-05-15.md
br_2_3_7_report: knowledge/dev/laws/dieu44-trien-khai/v0.2-planning/dot-iu-cutter-v0.2-br-2-3-7-discovery-report-2026-05-15.md
br_2_doc: knowledge/dev/laws/dieu44-trien-khai/v0.2-planning/dot-iu-cutter-v0.2-br-2-identity-profile-jsonb-discovery-2026-05-15.md
br_3_doc: knowledge/dev/laws/dieu44-trien-khai/v0.2-planning/dot-iu-cutter-v0.2-br-3-canonical-address-reader-writer-inventory-2026-05-15.md
br_7_doc: knowledge/dev/laws/dieu44-trien-khai/v0.2-planning/dot-iu-cutter-v0.2-br-7-sandbox-tac-role-clarification-2026-05-15.md
reconciliation_report: knowledge/dev/laws/dieu44-trien-khai/v0.2-planning/dot-iu-cutter-v0.2-canonical-address-reconciliation-report-2026-05-15.md
v0_2_scope_backlog: knowledge/dev/laws/dieu44-trien-khai/planning/dot-iu-cutter-v0.2-scope-backlog-2026-05-15.md
v0_1_production_handoff: knowledge/dev/laws/dieu44-trien-khai/execution/dot-iu-cutter-v0.1-production-handoff-status-2026-05-15.md
split_merge_metadata_TD_(BR_6): knowledge/dev/laws/dieu44-trien-khai/backlog/td-p1-split-merge-metadata-propagation-gap-2026-05-15.md

End of BR-4 / BR-5 closure readiness report.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.2-planning/dot-iu-cutter-v0.2-br-4-5-closure-readiness-report-2026-05-15.md