P10A-2C — D35 Human Readability Report
P10A-2C — Human-Readability Assessment
Subject: d35-reconstructed-clean.md — clean Markdown reconstructed from PG tac_publication_member (publication 27e48995-d6a1-4a44-8559-cab6a07fdbe0).
Question: Khi mở file, người đọc có thấy một tài liệu Điều 35 bình thường, hay còn dấu vết kỹ thuật (synthetic root, placeholders, technical IDs)?
VERDICT: ✅ PASS — Reads as a normal document.
Reader opens the file → sees the full Điều 35 v5.2 FINAL law with title, callout banner, 7-fix list, and §1 → §11 + Phụ lục A + Changelog + Ghi chú ban hành. No synthetic structural artifacts visible.
TIÊU CHÍ PASS / FAIL
| # | Tiêu chí | Result | Evidence |
|---|---|---|---|
| 1 | No synthetic root visible | ✅ PASS | D38-DIEU35-ROOT skipped; first line is original H1 from preamble S0 |
| 2 | No placeholder bodies | ✅ PASS | (parent — see children dieu35.s4.*) and dieu35.s6.* suppressed; §4 / §6 render as bare H2 followed directly by H3 children |
| 3 | No duplicate headings | ✅ PASS | H1 appears exactly once (line 1), no double-emit from root |
| 4 | Body content preserved | ✅ PASS | 0 content-affecting diff lines vs original; only 2 whitespace hunks |
| 5 | Readable as normal document | ✅ PASS | TOC structure, tables, code blocks, callouts all intact |
| 6 | 5 deliverables uploaded | ✅ PASS | This report + 4 sibling files in knowledge/dev/laws/dieu38-trien-khai/reports/p10a-2c-d35-human-render/ |
STRUCTURAL OBSERVATIONS
- Section nesting preserved by
patharray (preorder DFS): §1 → §2 → §3 → §4 → 4.1 → 4.1.1 → 4.2 → 4.3 → 4.4 → §5 → §6 → 6.1 → 6.2 → ... → §15 (CHANGELOG / Ghi chú ban hành). - Depth-to-heading mapping correct: §N at depth 2 =
##, sub-sections at depth 3 =###. - §4 placeholder body (
D38-DIEU35-S4) carried(parent — see children dieu35.s4.*)— suppressed, so## §4. SCHEMAflows directly into### 4.1 dot_tools .... - §8.2 (
D38-DIEU35-S8-P3) has truly empty body — rendered as heading-only, matching original.
DRIFT REMAINING (structural-only)
| Loc | Original | Reconstructed | Class |
|---|---|---|---|
| §4.1.1 → §4.2 boundary | 2 blank lines | 1 blank line | whitespace, no render impact |
| §6.1 Trạng thái → code fence | 1 blank line | 2 blank lines | whitespace, no render impact |
Both differences arise from the renderer'''s uniform \n\n join policy clashing with the original author'''s hand-typed inconsistencies. Markdown parsers collapse these identically. No content-affecting drift.
CONCLUSION
The PG-stored canonical fragments of Điều 35 v5.2 FINAL fully reconstruct the human-readable original when rendered with the simple rules in p10a-2c-render.py. The synthetic structural root and parent placeholders are correctly hidden from output. A reader opening d35-reconstructed-clean.md will see Điều 35 exactly as it appears in the KB, not a debug-view of the storage tree.
Implication for P10: The TAC publication-member model + tac_logical_unit + tac_unit_version schema is sufficient to round-trip canonical law text from PG to human-readable Markdown. Render rules (root skip, placeholder suppress, depth→heading) are minimal and law-agnostic.
P10A-2C | S187 | Reads as normal document | 0 content drift | Ready for human review