KB-260E

dot-iu-cutter v0.5 — First Snapshot CUT-plan Dry-run · Objective, Scope & Input Contract (S1; doc 1 of 5)

4 min read Revision 1
dot-iu-cutterv0.5cut-plan-dryruns1command-reviewobjective-scopeinput-contractdieu442026-05-19

dot-iu-cutter v0.5 — First Constitution Snapshot CUT-plan Dry-run · Objective, Scope & Input Contract

Phase: v0_5_constitution_first_snapshot_CUT_plan_dryrun_command_review (sub-phase S1) Nature: review_design_only__no_execution__no_code · Date: 2026-05-19 · doc 1 of 5

package_status: AUTHORED_FOR_REVIEW
nothing_executed: true · no command · no code · no CUT · no VERIFY
no DB/IU/Directus/vector · no source mutation · no push/merge/tag/deploy
self_advance: PROHIBITED
follows: CUT command review (BLOCKED on missing entrypoint) → this is the sanctioned S1 step

1. Objective and exact scope of the CUT-plan dry-run (required item 1)

objective: Deterministically derive, from the accepted & pinned MARK manifest, the EXACT set
  of governed rows a future production CUT WOULD insert — and emit them as inspectable
  ARTIFACTS ONLY. Zero DB/IU/Directus/vector writes. This makes the first irreversible
  governed write fully reviewable BEFORE any entrypoint is built or run.
exact_scope:
  consumes: the accepted manifest.json (digest 9d908a62…), regenerated deterministically
    from the pinned MARK command (re_run_equal:true) and re-digested before use.
  produces: 5 local artifact files modelling the would-be write-set (doc 4).
  models (preview only, NEVER inserted): manifest_envelope(1) + manifest_unit_block(60) +
    cut_change_set(1) + decision_backlog_history transition(s) + DOT-991 executor signature —
    the row shapes taken from cutter_agent/ledger.py (read-only inspection).
  IU cardinality: exactly 60 (== manifest candidate_count); one IU per accepted candidate.
  in_scope: the 60 enacted candidates (NGUYEN_TAC 15 + KIEN_TRUC_SECTION 3 + DIEU 42).
  out_of_scope (HARD): Điều 44 (UOSL controlled_draft, tier_2_explicit_row_marker, reason
    controlled_draft_deferred) + the other 3 excluded rows — modelled in an excluded preview
    with reasons, NEVER as a write-set row.
  explicitly NOT done: no real canonical-address resolution. cutter_agent/canonicalization.py
    OD-2 = canonical_address_alias FULLY DEFERRED in v0.4 (the v0.4 Resolver is a `stub://`
    stub). The CUT-plan dry-run REUSES the manifest's already-pinned ICX-CONST/<path>
    addresses from MARK; it does NOT invoke the deferred stub resolver and does NOT decide
    real alias semantics (that remains a separate deferred HIGH-risk phase).

2. Required input contract (required item 3)

manifest_digest_sha256:    9d908a62fcf01bb88e05a1af4335b960710006ddcfd21c811ca63efb33dd324f  (MUST match)
manifest_file_sha256:      7d56f3ce066950ccef3de4156c5afeea81b2450b8e38393205b52c1fca012179
manifest_size_bytes:       84157
candidate_count:           60   (MUST equal)
excluded_count:            4
source_document_version_id: icxconst-008a06ace23a96ea6cd456146e805c97
snapshot_region_sha256:    17660443e0f23e994e1807cf8e22920951a9e70c598956dbd0e752f4f5cae80c
snapshot_region_length:    17522 ; markers {enacted:19,controlled_draft:1,draft:1,obsolete:1}
docprefix:                 ICX-CONST ; scope_policy: enacted_only
exclusion_set (MUST stay excluded): Điều 44 (UOSL controlled_draft) + Điều 34 (draft) +
  2 obsolete rows. Điều 44 absent from candidates[]; present in excluded[] with reason.
manifest_provenance: regenerable byte-identically by re-running the pinned MARK command on
  branch feature/constitution-snapshot-mark-dryrun @ afb7bfc, dryrun.py sha f1f42e83…2efa1422,
  fixture region 17660443…/17522/19·1·1·1 (determinism re_run_equal:true).

doc 1 of 5. Nothing executed. Self-advance PROHIBITED.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.5-constitution-first-snapshot-cut-plan-dryrun-command-review/dot-iu-cutter-v0.5-cut-plan-dryrun-objective-and-scope-2026-05-19.md