dot-iu-cutter v0.5 Constitution Checksum Drift Triage — GPT Ruling
dot-iu-cutter v0.5 Constitution Checksum Drift Triage — GPT Ruling
Date: 2026-05-18
Reviewer / decision authority: GPT
Reviewed package: knowledge/dev/laws/dieu44-trien-khai/v0.5-constitution-source-document-seed-checksum-drift-triage/
Reviewed file:
file:
- dot-iu-cutter-v0.5-constitution-source-seed-checksum-drift-triage-2026-05-18.md
Verdict
checksum_drift_triage: PASS
agent_behavior: PASS_CORRECT
codex_block: VALID
production_mutation: none
DML_retry_authorized: false
canonical_checksum_update_authorized: false
The triage correctly explains the failed QG1 precheck: the Constitution source is a living Nuxt/Directus KB article and the authoritative body content changed after the prior checksum ratification. Codex was correct to block.
Accepted classification
classification: REAL_SOURCE_CHANGE
sub_type: living_document_KB_revision_drift
B6_invalidated: false
parser_profile_invalidated: false
B6 proved parser/checksum determinism for a fixed content revision. It did not prove that a live KB/Directus/Nuxt article is immutable. The current drift is a source-versioning problem, not a parser determinism failure.
Accepted facts:
accepted_facts:
marker_counts_unchanged: "✅19 📋1 📝1 ⛔1"
constitution_label_unchanged: "v4.6.3 BAN HÀNH"
changelog_rows_unchanged: true
normalized_content_changed: true
normative_marker_structure_changed: false
Ruling
source_document_seed_retry_against_old_checksum: REJECTED
silent_checksum_update: REJECTED
seed_from_unpinned_live_page: REJECTED_FOR_PRODUCTION_VERSION_IDENTITY
Do not retry the approved seed using the old checksum f9d22d05...d1689. Do not silently replace it with the new checksum. Do not make the production version identity depend on an unpinned live Nuxt page that can be edited between ratification and seed.
Source-version policy ruling
GPT selects a combined policy from the Agent options:
selected_policy:
primary: OPT_2_PIN_IMMUTABLE_SNAPSHOT
secondary: OPT_3_DEFINE_VERSION_MODEL_POLICY
use_OPT_1_re_ratify_new_checksum: only_after_snapshot_or_version_policy_is_defined
Meaning:
meaning:
- source_document can point to the live source URL as discovery/current URL
- source_document_version must be tied to a pinned source snapshot or immutable revision identity
- if only live Nuxt URL is available, seed must remain blocked until a safe snapshot/version capture method is defined
- KB-revision-only changes must not be ignored, because content_checksum is the version identity
Version model policy
For this pipeline:
version_model:
constitution_label: semantic/human label, not sufficient identity
KB_revision_or_snapshot: source capture identity
normalized_content_checksum: persisted source_version identity
content_change_with_same_constitution_label: creates_new_source_document_version_candidate
marker_counts_unchanged: may lower review severity, but does not permit in-place checksum update
old_source_version: may be superseded by new version; no hard overwrite
If a KB edit changes normalized content while the Constitution label remains v4.6.3 BAN HÀNH, it still requires a new version candidate or pinned snapshot decision. The system may classify it as non-marker prose drift, but it is still a source version event.
Required next phase
Open a narrow operations-first phase:
next_phase: v0_5_constitution_source_snapshot_and_version_policy_design
nature: read_only_design_authoring__no_seed_no_dml
Purpose:
purpose:
- identify available immutable source options for the Constitution fixture
- decide how to pin source_document_version to a stable source capture
- define how live source drift is handled before seed/cut
- author revised source seed strategy using snapshot/version identity
- avoid repeating live-page checksum race
The phase must evaluate at least:
options_to_evaluate:
A_KB_revision_snapshot:
description: use internal KB revision/export if available as immutable source for source_document_version
B_captured_snapshot_artifact:
description: capture normalized authoritative content as a KB artifact/snapshot before seed; seed version points to snapshot artifact + checksum
C_live_page_re_ratification_only:
description: re-ratify current live page again; allowed only as temporary path, with known race risk
D_source_api_raw_canonical_endpoint:
description: create/use stable raw canonical endpoint instead of Nuxt-rendered page
Still forbidden
still_forbidden:
- retry source_document seed against old checksum
- update canonical checksum in-place
- source_document INSERT
- source_document_version INSERT
- DML execution
- Constitution dry-run
- CUT
- VERIFY
- schema change
- GRANT/REVOKE
- Directus mutation unless a later phase explicitly authorizes it
- deploy/restart
- git commit
- self-advance to seed execution
Final status
status: LIVE_SOURCE_DRIFT_CONFIRMED__SNAPSHOT_VERSION_POLICY_NEXT
next_action: open_constitution_source_snapshot_and_version_policy_design