KB-55F4
dot-iu-cutter v0.5 — Constitution Grammar Applicability Review (PASS_WITH_BLOCKERS; level match, status-marker amendment required)
7 min read Revision 1
dot-iu-cutterv0.5constitution-fixturegrammar-applicabilitypass-with-blockersstatus-marker-gapdesign-onlydieu442026-05-18
dot-iu-cutter v0.5 — Constitution Grammar Applicability Review
Phase:
v0_5_constitution_fixture_source_grammar_ratification· Nature:read_only_grounding_plus_design__no_execution· Date: 2026-05-18
0. Verdict
grammar_applicability: PASS_WITH_BLOCKERS
level_structure: PASS (NGUYEN_TAC / KIEN_TRUC_SECTION / DIEU all observed)
status_marker_coverage: FAIL_PARTIAL (ratified profile maps 2 of 4 observed markers)
required_amendment: grammar_profile_status_marker — add 📝 + ⛔ mappings (ruling-gated)
canonical_address: PASS (BR-A1 scheme expressible for every observed node)
blocks_dry_run_until: status-marker amendment ruled+ratified AND OD-S1/OD-G2 ruled
1. Live profile under review (read-only catalog, 2026-05-18)
grammar_profile_ref: incomex-architecture-constitution-v4 (lifecycle=active)
address_template_ref: at.icx.const.v4
levels (grammar_profile_level):
1 NGUYEN_TAC matcher_kind=heading-rule matcher_ref=mc.icx.nguyen_tac numbering=arabic leaf=t
2 KIEN_TRUC_SECTION matcher_kind=heading-rule matcher_ref=mc.icx.kien_truc numbering=letter leaf=t
3 DIEU matcher_kind=structural matcher_ref=mc.icx.dieu numbering=arabic leaf=t
status_markers (grammar_profile_status_marker):
e29c85 ✅ -> enacted
f09f938b 📋 -> controlled_draft
source_family: internal_incomex_constitution (status_policy = enacted_only,
version_policy = living_document, authority_semantics_default = normative_authority)
2. Level-by-level review (QG2)
| profile level | matcher | observed in fixture | verdict |
|---|---|---|---|
NGUYEN_TAC (heading-rule, arabic, leaf) |
mc.icx.nguyen_tac | "15 NGUYÊN TẮC NỀN TẢNG — CẤM VI PHẠM" (Principles 1..15) | PASS — present, arabic-numbered |
KIEN_TRUC_SECTION (heading-rule, letter, leaf) |
mc.icx.kien_truc | "KIẾN TRÚC HẠ TẦNG DỮ LIỆU" with sections A / B / C (letter) | PASS — present, letter-sectioned |
DIEU (structural, arabic, leaf) |
mc.icx.dieu | "MỤC LỤC LUẬT" → Điều 0..44 (each = Tên/File/Ghi chú) | PASS — present, arabic-numbered |
| (no Chương/Khoản/Điểm level defined) | — | not present in fixture (correct) | PASS — profile correctly omits them |
level_structure_conclusion: PASS — the 3 ratified levels exactly match the
observed internal-constitution hierarchy; no missing level, no extra level
needed, no national-2013 tree required. is_leaf_candidate=true on all 3 is
consistent with the fixture but OD-G2 (which level is THE leaf-IU) is still
an open ruling (affects volume / +15 invariant) — NOT decided here.
note_OD-G2: leaf granularity (Điều vs sub-bullet vs Nguyên-tắc) remains a
GPT/User ruling (master-plan OD-G2). Flagged, not self-resolved.
3. Marker review (QG3 — the blocker)
observed_markers_vs_profile:
"✅" enacted : MAPPED in profile (e29c85) -> OK
"📋" controlled_draft : MAPPED in profile (f09f938b) -> OK
"📝" draft (Dự thảo) : NOT mapped in profile -> GAP
"⛔" obsolete (Lỗi thời): NOT mapped in profile -> GAP
why_a_blocker:
- grammar detection is fail-closed (canon §3 C1/C8). A status token the
profile does not recognise on a node is an UNHANDLED signal -> the node
cannot be deterministically classified enacted/excluded -> mis-cut risk.
- source_family.status_policy = enacted_only means 📝/⛔ nodes MUST be
excluded from cut — but the parser can only exclude what the profile can
NAME. An unmapped 📝/⛔ is not safely excludable; it is ambiguous.
required_amendment (RULING-GATED — see ruling-request companion):
add to grammar_profile_status_marker for incomex-architecture-constitution-v4:
"📝" -> draft (excluded under enacted_only)
"⛔" -> obsolete (excluded; also implies lifecycle=retired semantics)
NOTE: this is a future DML amendment package (separate authoring→review→
execution gate). NOT authored or executed here. Mapping only; it does NOT
make 📝/⛔ cut-eligible.
4. Canonical address implications
address_template at.icx.const.v4: "<DOCPREFIX>/<L1>-<L2>-...-<Lk>"
docprefix_separator='/' level_separator='-' encodes_status=false (BR-A1 locked)
expressibility for observed nodes (illustrative — NOT generated/written):
Nguyên tắc 12 -> ICX-CONST/NT-12
Kiến trúc Hạ tầng sec. A -> ICX-CONST/KT-A
Điều 44 (📋 ctrl-draft) -> ICX-CONST/DIEU-44 (status NOT in address; metadata)
conclusion: PASS — every observed node is addressable under the locked scheme;
status markers (incl. the unmapped 📝/⛔) never enter the address (encodes_status
=false), so the marker gap does NOT corrupt addressing — it only corrupts
status classification / cut-eligibility. Address layer = PASS.
5. Required grammar amendments (summary)
amend_required:
- id: AMD-SM1
table: grammar_profile_status_marker (profile incomex-architecture-constitution-v4)
change: ADD "📝"->draft and "⛔"->obsolete (mapping only; excluded by enacted_only)
gate: separate authoring -> GPT command-review -> execution (NOT this phase)
blocking: YES for Constitution dry-run
no_other_amendment_needed:
- levels: NO change (3 levels match)
- address_template: NO change (BR-A1 locked; expressible)
- matchers: NO change observed (heading/structural matchers fit; concrete
detection internals still OD-MC1-deferred but not contradicted by fixture)
6. Statements
- Grammar applicability checked level-by-level (QG2): levels PASS; status-marker coverage FAIL_PARTIAL → PASS_WITH_BLOCKERS. Required amendment AMD-SM1 identified and routed as a future ruling-gated package (not authored/executed here).
- No DML/DDL/GRANT/schema-change/dry-run/cut/verify. Read-only only (QG6).
- Self-advance PROHIBITED — doc 2 of 5; STOP after package → route GPT/User.
Companion: grounding-report, source-document-version-plan, status-marker-and-scope-ruling-request, ratification-readiness-report.