dot-iu-cutter v0.5 Constitution Nuxt Parser/Checksum Ratification — GPT Ruling
dot-iu-cutter v0.5 Constitution Nuxt Parser/Checksum Ratification — GPT Ruling
Date: 2026-05-18
Reviewer / decision authority: GPT
Reviewed package: knowledge/dev/laws/dieu44-trien-khai/v0.5-constitution-nuxt-parser-checksum-ratification/
Reviewed/inspected files:
files:
- dot-iu-cutter-v0.5-constitution-nuxt-parser-operational-framing-2026-05-18.md
- dot-iu-cutter-v0.5-constitution-nuxt-source-grounding-and-repeatability-2026-05-18.md
- dot-iu-cutter-v0.5-constitution-nuxt-authoritative-extraction-and-normalization-design-2026-05-18.md
- dot-iu-cutter-v0.5-constitution-nuxt-parser-profile-and-ruling-request-2026-05-18.md
- dot-iu-cutter-v0.5-constitution-nuxt-parser-checksum-ratification-report-2026-05-18.md
Note: a full read of the parser-profile/ruling file was blocked by tool safety checks during GPT review. Available file listings, snippets, and the Agent summary/report were consistent and sufficient to rule the next step. No contradictory evidence was found.
Verdict
constitution_nuxt_parser_checksum_ratification_package: PASS_WITH_PARTIAL_RULING
agent_behavior: PASS_CORRECT
operations_first_framing: PASS
forbidden_respected: true
execution_performed: false
B6_status: PARTIAL_NOT_CLOSED
source_document_seed_ready: false
Agent correctly proved the mechanism: raw Nuxt response is unstable, while normalized authoritative content checksum was stable across the 3 read-only fetches in the same observation window.
Accepted evidence
accepted_evidence:
fetch_count: 3
raw_fetch_checksum: unstable
raw_fetch_cause: Nuxt hydration/script region volatility
normalized_content_checksum: stable_3_of_3
normalized_checksum: f9d22d0571fa...d1689
normalized_length: 17791
status_marker_counts:
enacted: 19
controlled_draft: 1
draft: 1
obsolete: 1
status_marker_codepoints_stable: true
Operational answer accepted:
operational_answer:
question: "When user says 'Cắt Hiến pháp', can the system know whether the source changed?"
answer: "Yes by mechanism, if drift detection uses normalized content checksum, not raw fetch hash."
Rulings
R-OD-SR2 — authoritative span / normalization profile
ruling: APPROVE_IN_PRINCIPLE__REQUIRES_CROSS_INTERVAL_CONFIRMATION
profile_name: nuxt-incomex-portal-constitution-v1
The proposed parser/normalization profile is accepted in principle for the Constitution fixture, but B6 is not fully closed until one additional cross-interval confirmation verifies repeatability outside the same short fetch window.
Required confirmation:
required_confirmation:
- repeat read-only fetch after a time gap or separate session
- apply the same extraction and normalization rules
- normalized checksum must equal prior candidate f9d22d0571fa...d1689 unless real content changed
- status marker counts must remain 19/1/1/1 unless real content changed
R-CL1 — CHANGELOG inclusion
ruling: INCLUDE_CHANGELOG_IN_NORMALIZED_CONTENT_FOR_NOW
The CHANGELOG is part of the rendered authoritative document for this fixture and should be included in the normalized content checksum for the first Constitution source version. If future operation needs a body-only checksum and a changelog-aware checksum separately, that can be added later.
R-PP1 — parser profile storage
ruling: RECORD_AS_PROFILE_REFERENCE_IN_SOURCE_DOCUMENT_VERSION_PLAN_FOR_NOW
Do not create a new parser_profile table or schema change now. For the current seed path, record the parser/normalization profile name in the source_document_version plan/report if the live schema does not have a dedicated column. If the live schema has a suitable notes/profile_ref field, use it; otherwise keep it in KB authority and verification artifact.
R-B6 — blocker status
ruling: B6_PARTIAL__ONE_CONFIRMATION_TO_CLOSE
B6 is downgraded from BLOCKED to PARTIAL. It is not yet CLOSED. A short confirmation phase is required before returning to source_document/source_version seed command-review.
Source seed ruling
source_document_seed_execution: NOT_AUTHORIZED
source_document_seed_authoring_restart: DEFER_UNTIL_B6_CLOSED
source_document_and_version_atomicity: MAINTAINED
Do not seed source_document alone. Do not seed source_document_version until B6 closes.
Required next phase
Open a narrow confirmation phase:
next_phase: v0_5_constitution_nuxt_checksum_cross_interval_confirmation
nature: read_only_confirmation__no_seed_no_dryrun
Purpose:
purpose:
- rerun the approved-in-principle extraction/normalization rules in a separate interval/session
- compare normalized checksum with f9d22d0571fa...d1689
- compare marker counts with 19/1/1/1
- decide whether B6 can close
- if B6 closes, route back to source_document/source_version seed authoring
If normalized checksum differs, Agent must distinguish:
drift_handling:
real_content_change: update candidate checksum and report source drift
normalization_instability: keep B6 BLOCKED/PARTIAL and propose fix
tool_fetch_issue: report BLOCKED with evidence
Still forbidden
still_forbidden:
- source_document INSERT
- source_document_version INSERT
- DML execution
- Constitution dry-run
- CUT
- VERIFY
- schema change
- GRANT/REVOKE
- index DDL execution
- Directus mutation
- vector/NoSQL integration
- deploy/restart
- git commit
- self-advance to source seed or dry-run
Final status
status: B6_PARTIAL__CROSS_INTERVAL_CONFIRMATION_NEXT
next_action: open_constitution_nuxt_checksum_cross_interval_confirmation