dot-iu-cutter v0.5 — Constitution Nuxt Source Grounding + Repeatability (raw UNSTABLE, normalized content checksum STABLE x3)
dot-iu-cutter v0.5 — Constitution Nuxt Source Grounding + Repeatability
Phase:
v0_5_constitution_nuxt_parser_checksum_ratification· Date: 2026-05-18 · doc 2 of 5http_method_used: GET only (read-only) x3 ; redirects: 0 ; mutation: none source_mutated: false ; production_mutated: false ; kb_mutated: false (except 5 package uploads) dml: none ; dry_run: none ; cut: none ; verify: none ; secrets_recorded: none scratch: /tmp temp files used for hashing, deleted after measurement decision_authority: GPT / User ONLY ; self_advance: PROHIBITED
1. Method
Three consecutive read-only HTTP GETs of the registered source URL, ~20 s apart, this session, with full response headers and exact body bytes captured to local temp scratch for hashing, then scratch deleted. No mutation of source, KB (beyond the 5 authored package files), production, Directus, or filesystem.
source_url: https://vps.incomexsaigoncorp.vn/knowledge/dev/laws/constitution
2. Transport observations (identical across all 3 fetches)
http_status: 200
content_type: text/html;charset=utf-8
server: nginx/1.29.5
x_powered_by: Nuxt # confirms Nuxt SSR/SPA (consistent w/ ratification grounding)
cache_control: no-cache # server re-renders each request -> raw volatility expected
num_redirects: 0
csp/hsts/x-frame: present (security headers; not content)
3. Raw fetch checksum — UNSTABLE (the core B6 evidence)
fetch1: bytes=1197088 raw_sha256=2bd08424c710a6a004dc92100eef52c08c3ac8df4a03af402a79068cb0b849cc
fetch2: bytes=1197088 raw_sha256=2bd08424c710a6a004dc92100eef52c08c3ac8df4a03af402a79068cb0b849cc # == fetch1
fetch3: bytes=1196999 raw_sha256=031a0171fd0a93fb7ef2efce17685df5faccdceb36f32adfad8c04193fc9619a # DIFFERS
raw_diff: first differing byte ≈ offset 303313 ; ~859,949 bytes differ ; Content-Length changed (1197088 -> 1196999)
volatility_locus: the post-SSR script / Nuxt hydration region (window.__NUXT__ /
<script type="application/json" id="__NUXT_DATA__">), NOT the rendered document body
verdict: raw_fetch_checksum is NON-DETERMINISTIC across same-session re-renders
-> it CANNOT be the persisted content identity (would false-fire drift on every "Cắt Hiến pháp")
(Prior-session raw observation d196795…e041b26 @ 1,186,671 bytes differs again from this session — further confirms raw volatility / living-document drift over time.)
4. Rendered structure (fetch1; representative)
container_tags_present: html, head, body, header(x2), nav(x3), main(x1), article(x1),
section(x1), aside(x1), footer(x2), script(x4..6), style(x8..10)
nuxt_hydration_markers: id="__nuxt", id="__NUXT_DATA__", window.__NUXT__ (x2), <script type="application/json">
authoritative_body_container: <article> (server-rendered) — equivalently <main> (same normalized text)
observed_title: "Hiến pháp Kiến trúc Hệ thống Incomex v4.6.3 BAN HÀNH" (H1 in <article>)
observed_version_label: v4.6.3 BAN HÀNH
breadcrumb_chrome_in_article (HEAD): "Knowledge / Phát triển / Laws / Hiến pháp …" — Nuxt chrome
backlink_chrome_in_article (TAIL): "Back to Knowledge Hub knowledge/dev/laws/constitution.md" — Nuxt chrome
content_anchors_present: NGUYÊN TẮC, KIẾN TRÚC HẠ TẦNG, MỤC LỤC LUẬT, 2 CHIỀU QUẢN LÝ,
THUẬT NGỮ, CHANGELOG, "BAN HÀNH" (x21) — stable content anchors EXIST
note_completeness: the SSR <article> is the rendered `constitution.md` (architecture
constitution: principles + infra + law INDEX + changelog). It is a complete, coherent
document (H1 → CHANGELOG → backlink); it is principle/architecture-centric and does
NOT inline a full enumerated Điều 0..44 clause tree (consistent with fixture identity;
the earlier "189 Điều N" count was over the volatile raw payload, not the body).
-> SSR <article> is a strong authoritative-span candidate; completeness-vs-hydration
is flagged for OD-SR2 confirmation (doc 3 / doc 4).
5. Candidate normalized content checksum — STABLE across all 3 fetches
Extraction = inner of server-rendered <article>; drop <script>/<style>; strip tags; HTML-unescape; normalize = UTF-8 NFC + strip BOM + CRLF→LF + collapse intra-line whitespace + trim line ends + collapse blank-line runs; status markers preserved by exact codepoint.
candidate_A_inclusive (article incl. breadcrumb+backlink chrome):
norm_text_len: 18127 (identical x3)
norm_sha256: d94a977dd338f0c3cf87baa05a7724e2e0ab1412e695d45fb66cd9813a69b231 # IDENTICAL fetch1=fetch2=fetch3
candidate_B_authoritative_span (H1 "HIẾN PHÁP" .. before "Back to Knowledge Hub"):
norm_text_len: 17791 (identical x3)
norm_sha256: f9d22d0571fa296cbc8e308c46acde93804ffcfb4a19a2e7f55dabd8657d1689 # IDENTICAL fetch1=fetch2=fetch3
status_markers_codepoint_exact (normalized, SSR article):
"✅"=19 "📋"=1 "📝"=1 "⛔"=1 (identical across all 3 fetches; QG5 satisfied)
KEY RESULT:
raw_checksum: UNSTABLE (fetch3 ≠ fetch1/2)
normalized_checksum: STABLE (both candidate spans identical across all 3 fetches)
=> the determinism MECHANISM works: chrome-strip + normalization removes Nuxt
volatility while preserving content + markers. G1/G3/G4 (doc 1) are achievable.
6. Repeatability verdict
repeatability_tested: YES (3 same-session GETs, ~20s window)
raw: NOT repeatable
normalized_content (candidate A and B): repeatable / PASS within this session
caveats (why this is PARTIAL not yet CLOSED):
- 3 fetches over ~20s only; NOT proven across days / Nuxt deploys / version bumps
- exact authoritative span (exclude breadcrumb + "Back to Knowledge Hub" + footer)
not yet GPT-ratified (OD-SR2); candidate B is a proposal, not a ruling
- SSR-article completeness vs client-hydrated view to be confirmed at ratification
no production mutation; no checksum inserted anywhere; scratch deleted.
7. Statement
- Actual source grounded read-only x3 (QG2). raw_fetch_checksum vs normalized_content_checksum distinguished and measured (QG3). Repeated normalized checksum is stable within the tested window (QG6). Markers preserved codepoint-exact (QG5).
- No source seed/DML/dry-run/cut/verify (QG7). doc 2 of 5; STOP after package → route GPT/User. Self-advance PROHIBITED.
Companion: parser-operational-framing, authoritative-extraction-and-normalization-design, parser-profile-and-ruling-request, ratification-report.