KB-7007

dot-iu-cutter v0.5 — Constitution First Dry-Run: Operational Framing (operations-first; pinned snapshot input; manifest-only output; NOTHING executed)

9 min read Revision 1
dot-iu-cutterv0.5constitution-fixturefirst-dryrunoperational-framingoperations-firstsnapshot-boundplanning-onlyno-executiondieu442026-05-18

dot-iu-cutter v0.5 — Constitution First Dry-Run: Operational Framing

Phase: v0_5_constitution_first_dryrun_planning_and_command_review · Nature: planning_and_command_review_only__no_dryrun__no_cut__no_verify__no_production_IU · Date: 2026-05-18 · doc 1 of 5

nothing_executed: true ; dry_run: none ; cut: none ; verify: none ; production_mutation: none
input_basis: pinned_normalized_snapshot_artifact (NOT live page)
KB_is_SSOT: true ; decision_authority: GPT / User ONLY ; self_advance: PROHIBITED

This document is written operations-first (per the binding operating principle in handoffs/dot-iu-cutter-current-operating-objectives-and-principles-2026-05-18.md): operational goal → workflow state machine → marking/review model → safety/verification → data/code. It defines what the first Constitution dry-run means before any mechanism.


1. What "Cắt Hiến pháp dry-run" means operationally

The long-term operator command is simply Cắt Hiến pháp. The first dry-run is the controlled, read-only rehearsal of the front half of that command, with the destructive half deliberately amputated.

operational_intent:
  user_sentence: "Cắt Hiến pháp" (eventual one-command UX)
  this_phase: rehearse the SEMANTIC SEGMENTATION DECISION only, prove it is
              correct, lossless, and reproducible — WITHOUT creating any
              Information Unit and WITHOUT touching production.

The cutter is a closed-loop decision workflow, not a splitter (design/dot-iu-cutter-methodology-mark-review-cut-and-split-merge-principles-2026-05-14.md):

MARK  → semantic segmentation: propose the cut manifest (candidate IUs)
REVIEW→ independent validation/repair of the manifest (coverage / no-overlap / vocab / hierarchy)
CUT   → deterministic execution from an APPROVED manifest (fn_iu_create, production rows)   ← FORBIDDEN this phase
VERIFY→ independent post-cut attestation (+15 matrix, lane/XOR)                              ← FORBIDDEN this phase

The first Constitution dry-run = MARK (+ REVIEW evaluation) over the pinned snapshot, stopping strictly before CUT. It answers, by evidence and on paper:

What source is being cut?      -> the PINNED normalized snapshot artifact (frozen identity)
Where are the cut boundaries?  -> proposed candidate-IU spans against grammar_profile
Why exactly there?             -> cut_reason per unit (heading_boundary / independent_principle / ...)
Which content is in scope?     -> enacted_only (✅) ; 📋/📝/⛔ explicitly EXCLUDED, not dropped
Does it lose or overlap text?  -> coverage + no-overlap proof over the snapshot region
Is it reproducible?            -> deterministic from a fixed snapshot + fixed grammar profile + refimpl.r1
dry_run_is:
  - a manifest-producing rehearsal (candidate units, spans, addresses, cut_reason)
  - a coverage / no-overlap / classification proof over a FROZEN input
  - a determinism check (same snapshot + same profile => same manifest)
dry_run_is_NOT:
  - an Information-Unit creation (no fn_iu_create, no tac_logical_unit / cutter_governance writes)
  - a production mutation of any kind
  - a live-page fetch for identity (live URL = discovery_only)
  - a bulk / multi-document run
  - a CUT or a VERIFY

2. Input — the pinned snapshot, not the live page (QG1)

input_authority:
  source_document_ref:        incomex-constitution
  source_document_version_id: icxconst-008a06ace23a96ea6cd456146e805c97
  source_checksum:            17660443e0f23e994e1807cf8e22920951a9e70c598956dbd0e752f4f5cae80c
  source_basis:               pinned_normalized_snapshot_artifact
  snapshot_artifact_path:     knowledge/dev/laws/dieu44-trien-khai/snapshots/constitution/constitution-normalized-17660443e0f23e99.md
  parser_reference_impl:      nuxt-incomex-portal-constitution-v1.refimpl.r1
  grammar_profile:            incomex-architecture-constitution-v4
  live_url_role:              discovery_only  (NEVER an identity or input source for the dry-run)

The dry-run reads the BEGIN/END normalized-content region of the write-once snapshot artifact as the only segmentation input. The live Nuxt page is Nuxt-render-volatile and is excluded from the dry-run by construction. The snapshot is rehashed before parsing (see doc 4) so that a drifted/edited artifact aborts the run before any work.

3. Output — dry-run candidate artifacts only, never production IU

output_of_dry_run (allowed):
  - a CUT MANIFEST (candidate IU list): per-unit manifest_id, source span over the
    snapshot region, canonical_address_proposal (ICX-CONST/<path>), title,
    section_type, unit_kind, level (NGUYEN_TAC | KIEN_TRUC_SECTION | DIEU),
    parent, cut_reason, body_source_policy, status_marker_observed,
    in_scope (enacted) | excluded (📋/📝/⛔ + reason), confidence
  - a REVIEW EVALUATION over that manifest (coverage / no-overlap / cohesion /
    vocab / hierarchy / size / edge-readiness)
  - structured dry-run logs + a determinism digest (manifest hash)
output_of_dry_run (FORBIDDEN):
  - any row in tac_logical_unit, cutter_governance.*, manifest_envelope,
    cut_change_set, verify_result, canonical_address_alias, or any production table
  - any source_document / source_document_version mutation
  - any Directus / vector / NoSQL write

The manifest is data about a proposed cut, not the cut. No fn_iu_create is called.

4. What success looks like

success_definition (first Constitution dry-run, when later authorized):
  S1 snapshot_rehash:        recomputed region sha256 == 17660443…cae80c ; length == 17522
                             ; marker_counts == {✅19, 📋1, 📝1, ⛔1}  (else ABORT, no parse)
  S2 input_provenance:       manifest binds every unit to source_document_version_id
                             icxconst-008a06… + snapshot span; zero live-URL dependency
  S3 scope_correct:          only ✅-enacted content enters candidate IUs;
                             Điều 44 (📋), Điều 34 (📝), and the ⛔ obsolete entries
                             appear in the manifest ONLY as explicitly EXCLUDED rows
                             with a recorded reason (not silently dropped)
  S4 coverage_no_overlap:    candidate spans + explicitly-excluded spans together
                             cover the snapshot region with no gap and no overlap
  S5 addressing:             every unit has a unique ICX-CONST/<path> proposal;
                             no duplicate canonical_address; status NEVER in address
  S6 hierarchy:              levels resolve to the 3 ratified grammar levels
                             (NGUYEN_TAC / KIEN_TRUC_SECTION / DIEU); parent/child sane
  S7 determinism:            re-running on the same pinned snapshot + same grammar
                             profile + refimpl.r1 yields a byte-identical manifest
  S8 reconstruction:         the enacted-only subset can be reconstructed from the
                             manifest spans; excluded markers are itemised
  S9 zero_production_touch:  no production row created/changed; no CUT; no VERIFY;
                             system_identifier 7611578671664259111 unchanged
report:
  operator_view:  one of PASS / FAIL / BLOCKED with a one-line reason
  technical_view: full manifest + coverage proof + determinism digest in KB

A dry-run that creates even one IU, touches production, or relies on the live page is a FAIL by definition, regardless of manifest quality.

5. Operational boundary of THIS phase

this_phase_produces: a planning + command-review package (5 KB docs) ONLY
this_phase_executes: NOTHING (no dry-run, no parse, no DB read of cutter_governance,
                     no SSH, no harness provisioning)
next_gate:           GPT / User review of this package -> decide whether/how the
                     first Constitution dry-run command may exist and run
self_advance:        PROHIBITED

Companion docs: readiness-and-scope (2), command-package (3), verification-and-cleanup-plan (4), planning-report (5).

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.5-constitution-first-dryrun-planning/dot-iu-cutter-v0.5-constitution-first-dryrun-operational-framing-2026-05-18.md