KB-22F7

dot-iu-cutter v0.5 — Snapshot MARK Fixture Provision Log (provisioned from pinned snapshot; region len 17522 ✓ markers 19/1/1/1 ✓ but sha 86d6aea7 ≠ pinned 17660443 → NON-IDENTITY, transport not byte-faithful, BLOCKED)

5 min read Revision 1

dot-iu-cutter v0.5 — Snapshot MARK Fixture Provision Log

Phase: …_test_transport_fixture_CI_fix · Nature: fixture_provision_attempt__BLOCKED_on_byte_identity · Date: 2026-05-18 · doc 2 of 4

fixture_path: tests/fixtures/constitution-normalized-17660443e0f23e99.md
region_length: 17522 (== pinned ✓) ; marker_counts: {enacted:19,controlled_draft:1,draft:1,obsolete:1} (== pinned ✓)
region_sha256: 86d6aea7539d006f3e3af35b784b2599ff6dc6f330607939e4d86bde53097550
pinned_sha256: 17660443e0f23e994e1807cf8e22920951a9e70c598956dbd0e752f4f5cae80c
identity_match: FALSE  ->  NON-IDENTITY fixture (transport not byte-faithful) -> BLOCKED

1. Source (pinned snapshot artifact — SSOT)

kb_doc: knowledge/dev/laws/dieu44-trien-khai/snapshots/constitution/
        constitution-normalized-17660443e0f23e99.md  (revision 1, write-once)
frontmatter: normalized_content_checksum 17660443…cae80c ; length 17522 ;
             marker_counts {enacted:19,controlled_draft:1,draft:1,obsolete:1}
rule_obeyed: fixture derived ONLY from this pinned artifact; BEGIN/END
             normalized-content region preserved verbatim; local test-only
             (untracked, not committed); NOT treated as first-dry-run output
             (cutter_agent.dryrun was NEVER executed; no manifest emitted).

2. Provision action

written: tests/fixtures/constitution-normalized-17660443e0f23e99.md
  (GPT-preferred test-only path; full artifact incl. YAML frontmatter +
   <<<BEGIN…>>> / …END>>> sentinels + normalized region, transcribed from
   the KB MCP-returned artifact text)
NOT copied to repo-root path the unmodified test resolves
  (Path(__file__).resolve().parents[1] / "constitution-normalized-…md")
  because the region is NON-IDENTITY — copying would neither fix CI nor be
  a faithful pinned copy, and could cause a misleading run. Root path left
  ABSENT intentionally (no false PASS).

3. Rehash gate (via cutter_agent.dryrun.extract_region — the real gate)

region_length         : 17522            == pinned 17522            ✓
marker_counts          : enacted=19 controlled_draft=1 draft=1 obsolete=1
                        == pinned                                  ✓
region_sha256          : 86d6aea7539d006f3e3af35b784b2599ff6dc6f330607939e4d86bde53097550
pinned identity sha256 : 17660443e0f23e994e1807cf8e22920951a9e70c598956dbd0e752f4f5cae80c
SHA_MATCH              : FALSE
overall_fixture_valid  : FALSE

4. Diagnosis (deterministic, no character guessing)

normalization: region is already is_NFC=true. NFC/NFD/NFKC/NFKD all tested:
  NFC  len17522 sha 86d6aea7 (no match)   NFD  len19565 sha eac25f33
  NFKC len17524 sha 1d9e245e               NFKD len19567 sha 125ad184
  -> NOT a Unicode normalization issue.
suspicious_codepoints_in_region:
  U+2192 →  x65 ; U+2014 — x42 ; U+2705 ✅ x19 ; U+00A7 § x10 ;
  U+2013 – x3  ; U+00B7 · x2 ; U+2026 … x1 ; U+00D7 × x1 ;
  U+1F4CB 📋 x1 ; U+1F4DD 📝 x1 ; U+26D4 ⛔ x1
  no NBSP/ZWSP/BOM/soft-hyphen/narrow-NBSP present.
finding: the MCP→context→Write transport delivered a region that preserves
  CODE-POINT COUNT (17522) and MARKER CENSUS (19/1/1/1) but NOT the byte
  identity — at least 3× U+2013 EN DASH appear where the pinned artifact's
  identity sha implies different (equal-width) characters; length/markers
  coincidentally invariant under such 1:1 substitutions. The pinned
  write-once identity (sha 17660443) cannot be byte-reproduced through the
  available KB-text transport. Forcing the hash by mutating characters is
  PROHIBITED (guessing) and was NOT done.

5. Stop condition triggered

fixture rule: "must come from the pinned snapshot artifact; must preserve
  BEGIN/END normalized-content region." A region with sha 86d6aea7 does
  NOT preserve the pinned identity (17660443) -> not a faithful copy.
stop condition: "if tests still fail after fixture provision" -> they do:
  TestGate.setUp calls snapshot_gate(region, SHA=17660443…) which raises
  FailClosed on the sha mismatch (and the unmodified test reads repo-root,
  intentionally left absent). => fixture provisioning BLOCKED.
action: NON-IDENTITY fixture retained at tests/fixtures/ for GPT inspection,
  clearly labeled; NOT wired into any test path; dryrun.py NOT modified;
  nothing committed.

doc 2 of 4. Self-advance PROHIBITED.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.5-constitution-snapshot-mark-test-transport-fixture-ci-fix/dot-iu-cutter-v0.5-snapshot-mark-fixture-provision-log-2026-05-18.md