KB-4B67
dot-iu-cutter v0.5 — Constitution Nuxt Cross-Interval B6 Ruling Request (recommend B6 CLOSED → return to source_document seed authoring)
6 min read Revision 1
dot-iu-cutterv0.5constitution-fixturenuxt-parser-checksumcross-interval-confirmationb6-closed-recommendruling-requestroute-gpt-userdieu442026-05-18
dot-iu-cutter v0.5 — Constitution Nuxt Cross-Interval B6 Ruling Request
Phase:
v0_5_constitution_nuxt_checksum_cross_interval_confirmation· Nature:ruling_request__no_execution· Date: 2026-05-18 · doc 2 of 3decision_authority: GPT / User ONLY. Agent recommends; decides nothing silently. dml: none ; source_seed: none ; dry_run: none ; cut: none ; verify: none self_advance: PROHIBITED
1. Operational question — answered with cross-interval evidence
When user says "Cắt Hiến pháp", does the system detect a REAL source change,
or only Nuxt render noise?
answer: The system reliably distinguishes the two.
- raw Nuxt response drifted BOTH within this session AND across the ~15-min /
separate-session interval (sizes + hashes all differed) — pure render noise.
- the normalized authoritative-content checksum was IDENTICAL to the prior
phase's candidate across the interval and all 3 fetches.
=> drift detection on the normalized content checksum sees through Nuxt noise
(G1/G3 confirmed across time), and would flag only real content change (G2).
2. PASS / PARTIAL / BLOCKED analysis
GPT_required_confirmation (ruling 2026-05-18):
- repeat read-only fetch after a time gap / separate session -> DONE (separate session, ~15 min later)
- apply the same extraction and normalization rules -> DONE (prior pipeline reproduced verbatim, QG1)
- normalized checksum must equal f9d22d0571fa…d1689 -> MET (3/3 fetches MATCH, len 17791)
- marker counts must remain 19/1/1/1 -> MET (3/3 fetches MATCH)
evaluation:
candidate_B (authoritative span) : f9d22d05…d1689 len 17791 -> MATCH prior
candidate_A (inclusive) : d94a977d…b231 len 18127 -> MATCH prior
markers : 19/1/1/1 -> MATCH prior
raw drift : present (intra + cross interval) -> harmless, forensic-only
classification: PASS — normalized content stable across interval; only harmless raw
Nuxt drift. NOT normalization instability. NOT a fetch/tool issue. NOT real content change.
3. Recommendation
recommended_ruling: B6 CLOSED
parser_profile: nuxt-incomex-portal-constitution-v1 (now confirmed deterministic
across separate-session / cross-interval re-render)
canonical_normalized_content_checksum (candidate, for the FIRST Constitution source
version — to be persisted ONLY in a future, separately-gated seed command-review):
content_checksum = f9d22d0571fa296cbc8e308c46acde93804ffcfb4a19a2e7f55dabd8657d1689
normalized_length = 17791
marker_profile = ✅19 / 📋1 / 📝1 / ⛔1
span = SSR <article> H1 "HIẾN PHÁP" .. end CHANGELOG (CHANGELOG included, R-CL1)
raw_checksum = NOT identity (volatile) — provenance/forensic only
NOT changed: canonical checksum is unchanged from the prior candidate (no real content
change); this phase confirms, it does not redefine.
4. Rationale
why_CLOSED:
- GPT's single remaining gate (one cross-interval/separate-session confirmation)
is now satisfied with exact MATCH on checksum, length, and marker counts
- mechanism proven across BOTH same-session (ratification phase, 3x) AND
cross-interval/separate-session (this phase, 3x) -> 6 independent fetches,
normalized identical every time while raw churned every time
- status markers codepoint-exact and stable (G4) -> enacted_only classification safe
- R-OD-SR2 span, R-CL1 CHANGELOG-include, R-PP1 storage already ruled by GPT;
only R-B6 closure remained, and its evidence condition is now met
residual_notes (do not block closure):
- stability still not observed across a Nuxt *deploy / version bump*; this is
inherent to a living document and is correctly handled as FAIL_DRIFT (new
version row + review), NOT as a determinism defect — the profile is sound
- if GPT prefers maximum conservatism it MAY hold B6 PARTIAL for one post-deploy
check, but Agent assesses the GPT-stated confirmation requirement as fully met
5. Impact on source_document / source_version seed (B5)
if_GPT_rules_B6_CLOSED:
- B5 unblocks. Return to Constitution source_document/source_document_version
seed authoring (restart the NO-DML-DRAFT package).
- fill placeholders mechanically under nuxt-incomex-portal-constitution-v1:
content_checksum = f9d22d0571fa…d1689
document_version_id = "icxconst-" || left(sha256_hex(content_checksum || '|' || 'incomex-constitution'),32)
source_format = "html/nuxt"
provenance jsonb = { raw_checksum (per-fetch, forensic), parser_profile_ref:
"nuxt-incomex-portal-constitution-v1", normalize_profile,
observed_title, observed_version_label "v4.6.3 BAN HÀNH" }
- constraints unchanged: source_document + source_document_version ATOMIC;
enacted_only first dry-run; controlled-draft Điều 44 deferred; R-PP1 = profile
recorded in version plan/report (NO new parser_profile table, NO schema change)
- seed remains authoring→GPT command-review→separately-gated execution; this
phase authorizes NONE of it.
if_GPT_holds_B6_PARTIAL:
- one post-deploy re-confirmation, then close; B5 stays blocked until then.
6. Statement
- Clear B6 recommendation made: CLOSED (QG6), grounded in cross-interval MATCH of normalized checksum + marker counts; raw drift classified harmless (QG5).
- No source seed/DML/dry-run/CUT/VERIFY authorized or executed (QG7). doc 2 of 3; STOP after package → route GPT/User. Self-advance PROHIBITED.
Companion: cross-interval-fetch-and-normalization-result, cross-interval-confirmation-report.