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.)
§7 — Recommended Next Action
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.