KB-44E8

GPT Review — P10B-2A D28 Segmentation Candidate v1

4 min read Revision 1
s188p10bp10b-2ad28segmentationreviewneeds-patch

GPT Review — P10B-2A D28 Segmentation Candidate v1

Date: 2026-04-29

Verdict

APPROVE WITH PATCHES — do not dispatch HASH yet until P1-P6 are applied.

P10B-2A direction is correct: Điều 28 is a good third document because it has Roman numeral headings, tables, SQL code blocks, nested sections, and a footer/colophon case. There is no constitutional conflict with continuing P10B-2 as read-only discovery/segmentation.

However, the candidate has several internal inconsistencies and open assumptions that must be corrected before sending to Agent.

Constitutional / law check

Relevant constraints checked in Agent Data:

  • Read-only discovery is consistent with P10B scope and does not mutate production.
  • RED ZONES warn against renderer fallback and case-dispatch per section; P10B-2 must preserve generic, data-driven render/extraction.
  • Prior P10B hardcode incident requires explicit anti-hardcode guardrails.
  • Unknown vocab values must not be used; production vocab is source of truth.

No blocking conflict if patched.

Required patches

P1 — Fix unit count contradiction

The document says both “30 units” and “27 units.” Final candidate should consistently state:

  • 27 units total;
  • 5 containers: ROOT, S1, S2, S3, S8;
  • 22 leaf units.

All tables, row counts, and tree must use the same count.

P2 — Remove colophon as a section_type

colophon is not verified in production vocab. Use paragraph for footer in MVP.

Keep a design note: “missing first-class footer/colophon type — review post-MVP.”

P3 — Make HASH step mandatory before approval for insert package

P10B-2A can be conceptually approved as a candidate, but P10B-2A-HASH must verify:

  • exact source SHA256;
  • per-unit body SHA256;
  • 0 gaps / 0 overlaps;
  • footer line captured as unit;
  • 8 section types active in production.

No insert-package generation before HASH PASS.

P4 — Add anti-hardcode guardrails explicitly

Because Đ28 has Roman numerals and many ### headings, the Agent must parse headings dynamically. The prompt must explicitly forbid:

  • hardcoded unit-key arrays;
  • fixed Roman numeral lists;
  • case-dispatch by section number;
  • renderer fallback per section.

P5 — Clarify VII split decision as a candidate, not a final truth

The claim “VII ### sub-headings are 1-liners, formatting not structure” may be correct, but must be validated by HASH/body coverage. Agent should report whether VII should remain one unit or split, based on actual body spans.

If multiple substantive sub-bodies exist, split; if they are short criteria in one table/block, keep single leaf.

P6 — Renderer rule capture

P10B-2 must record generic renderer rules for:

  • Roman numeral top-level sections;
  • markdown tables inside body;
  • SQL code fences inside body;
  • footer/colophon as a paragraph unit;
  • HR separators.

No one-off renderer hacks.

Direction to Opus

Patch P10B-2A v1 → v1.1 with P1-P6.

Then dispatch P10B-2A-HASH as a read-only Agent task.

P10B-2A-HASH must compute source/unit hashes, verify production vocab, prove body coverage, and upload a report.

Do not proceed to insert package until HASH PASS.