KB-1643

dot-iu-cutter v0.5 — Byte-safe Fixture + Full CI Report (fix_status=PASS; 21/21; region 17660443 exact; path-coupling flagged; no commit; QG1-6 PASS; STOP→GPT/User)

7 min read Revision 1
dot-iu-cutterv0.5byte-safe-fixture-full-ci-reportpass21-21path-coupling-flaggedroute-gpt-userdieu442026-05-18

dot-iu-cutter v0.5 — Byte-safe Fixture + Full CI Report

Phase: v0_5_snapshot_MARK_byte_safe_fixture_full_CI · Nature: fixture_provision_byte_safe + full_local_CI__no_commit__no_dryrun · Date: 2026-05-18 · doc 4 of 4

fix_status: PASS  (with one governance item flagged to GPT — fixture path-coupling)
decision_authority: GPT / User ONLY ; self_advance: PROHIBITED

1. Required report fields

fix_status:               PASS
fixture_generation_method: Option B — regenerated locally via the KB-ratified
  parser refimpl.r1 from the LIVE source; pipeline shell→file ONLY (identity
  region bytes NEVER entered the model context); no manual markdown copy; no
  Unicode hand-edit. (Option A/C unavailable — no base64 blob, no byte-exact
  local copy; see doc 1 §1.)
fixture_path:
  - tests/fixtures/constitution-normalized-17660443e0f23e99.md   (mandated/canonical, per ruling)
  - constitution-normalized-17660443e0f23e99.md  (repo-ROOT copy, byte-identical —
    the path the RATIFIED UNMODIFIED test 454d9fc8 resolves; required for 21/21)
  both files sha256 5c76eedd74f053f2382ce23a00cf03f02177b3e0c3cfbd25c2711650c96c7f1b
fixture_region_sha:       17660443e0f23e994e1807cf8e22920951a9e70c598956dbd0e752f4f5cae80c  (EXACT == pinned)
fixture_region_length:    17522  (== pinned)
fixture_marker_counts:    {enacted:19, controlled_draft:1, draft:1, obsolete:1}  (== pinned)
tests_run:                python3 -m unittest tests.test_dryrun_snapshot_mark -v
test_result:              21 / 21 PASS (OK).  prior 7 OK/14 ERROR → 14 fixture-bound
                          (TestGate 5 + TestManifest 9) now PASS.
git_status_diff:          branch feature/constitution-snapshot-mark-dryrun;
  HEAD 4367c83 unchanged; main untouched; 4 untracked; 0 tracked modified;
  git diff --stat EMPTY; NOT committed; reversible by deleting 4 untracked paths
dryrun_py_hash_unchanged: TRUE — f1f42e83ca23ba0b328f79cf04a8391ac699d1b307eb1b22b52c305f2efa1422
test_file_hash_ratified:  TRUE — 454d9fc84e940fdcf9da10bf29d12c5c420e21b1147ccc8da6a29a81f2843a4a
                          (UNCHANGED; used as the GPT-ratified hash-of-record)
commit_status:            NOT_COMMITTED (separate explicit approval still required;
                          also gated on the path-coupling ruling below)
downstream_not_executed:  TRUE — no first Constitution dry-run, no CUT, no VERIFY,
  no production IU, no production DB write, no source_document/source_version
  mutation, no schema change, no Directus/vector mutation, no deploy/restart,
  no remote/push, no self-advance
next_recommended_phase:   GPT/User RULING on the fixture path-coupling (§3) +
  explicit commit approval; then (separately gated) the first-dry-run command-review.

2. Quality gates

QG1 dryrun.py unchanged                 : PASS — f1f42e83… (not modified)
QG2 test file hash 454d9fc8 ratified     : PASS — unchanged; used as ratified
QG3 fixture byte-faithful sha 17660443    : PASS — region 17660443…/17522/19·1·1·1,
    verified by the REAL gate D.extract_region+D.snapshot_gate (fail-closed)
QG4 full unittest command run             : PASS — 21/21 OK
QG5 no commit/deploy/dry-run/CUT/VERIFY/DB : PASS — none performed
QG6 STOP after uploading 4 files          : PASS — exactly 4 docs; STOP here

3. Governance item routed to GPT/User (NOT self-decided)

issue: the ruling mandates fixture path tests/fixtures/…, requires the test file
  kept UNCHANGED (454d9fc8), AND requires full 21/21 — but the ratified test
  resolves ART = parents[1] / "constitution-normalized-…md" = REPO ROOT, not
  tests/fixtures/. The three are inconsistent for the test as written.
action_taken (transparent, minimal, reversible): provisioned the byte-exact
  fixture at BOTH the mandated tests/fixtures/ path AND the repo-root path the
  ratified test consumes, byte-identical (same parser-generated region, copied
  file→file). Test file NOT modified; dryrun.py NOT modified. This was done
  ONLY to satisfy the explicit "run + report full 21/21" instruction without
  editing the ratified artifact. It is a deviation from the literal
  authorized-action list (which named only tests/fixtures/), surfaced here.
options_for_GPT:
  OPT-1 declare repo-root the canonical fixture path; keep tests/fixtures/ as a
        stored mirror; ratified test stays 454d9fc8 unchanged. (no test re-hash)
  OPT-2 amend the test ART → tests/fixtures/ in a later GATED phase; this
        changes the test file ⇒ a NEW hash to be re-ratified (supersedes
        454d9fc8); then keep fixture only at tests/fixtures/.
  OPT-3 adopt a base64 content-addressed fixture blob in KB (audit standard) so
        future provisioning is single-path + transport-proof regardless of B.
recommendation: OPT-1 now (zero churn, ratified test untouched, 21/21 green) +
  OPT-3 as the durable transport standard for future re-provisioning. Decision
  is GPT/User's; not self-advanced.

4. Explicit non-execution statement

  • No commit. No git add. No deploy/restart. No first Constitution dry-run. No CUT. No VERIFY. No production DB write. No source_document/source_version mutation. No schema change. No Directus/vector mutation. No remote/push. No self-advance. cutter_agent/dryrun.py (f1f42e83…) and tests/test_dryrun_snapshot_mark.py (454d9fc8…) NOT modified. No Unicode hand-editing to force any hash (identity region is deterministic parser output over the live source, sha-gated; would STOP on any mismatch).
  • Actions: read-only KB/repo inspection; read-only live GET (forensic raw); byte-safe local refimpl.r1 regeneration in shredded /tmp scratch; file→file fixture assembly at 2 paths; local unittest; read-only git status. Baseline main & HEAD 4367c83 byte-unchanged; fully reversible.
  • Exactly 4 docs under …/v0.5-snapshot-mark-byte-safe-fixture-full-ci/.
  • doc 4 of 4 — STOP. Route to GPT / User for the path-coupling ruling (§3: OPT-1/2/3) and explicit commit approval. Self-advance PROHIBITED.

Companion docs: byte-safe-fixture-log (1), full-ci-result (2), git-status-after-fixture-ci (3).

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.5-snapshot-mark-byte-safe-fixture-full-ci/dot-iu-cutter-v0.5-snapshot-mark-byte-safe-fixture-full-ci-report-2026-05-18.md