neochart v2 research

qa/presentation-review-request.md

Source: qa/presentation-review-request.md

Exact source text

# Independent QA request — database presentation PoC

Lead: please dispatch independent QA after this presentation commit lands and
v2 is published. Author engineering/browser checks are not QA sign-off.

Compare the same-law views:

- https://v2.neochart.com/explore/law/42usc1983/
- https://v2.neochart.com/explore/law/42usc1983/matrix/
- https://v2.neochart.com/explore/law/18usc1962/
- https://v2.neochart.com/explore/law/18usc1962/matrix/

Start from https://v2.neochart.com/explore/ for the other laws. Follow an element
to its variants and court-decisions table; follow a case to its full instance
and evidence table. Presentation tradeoffs are in site/PRESENTATION-NOTES.md,
published as /PRESENTATION-NOTES.md.html.

## Requested checks

1. Recompute row and distinct-case counts from the selected DB snapshot. Count
   only is_instance=1, not quote joins or every displayed annotation. Check a
   zero-count declared variant and a not-declared matrix cell separately.
2. Verify exact DOM quotation text against full-source SHA256 and Unicode offsets;
   source text must not be paraphrased, normalized or silently substituted.
3. Confirm procedural, comparator, not-reached and other excluded contexts are
   visible but not counted; inspect polarity, absence and quoted-rule flags.
4. Check outline hierarchy/claim structure versus matrix coverage. Neither
   shading nor counts should imply confidence, population frequency or liability.
5. Inspect mobile widths 390px and desktop 1365px. Tables may scroll within their
   containers; case evidence stacks on mobile. Native details and links must
   work without JavaScript. Verify A/B, element, case and source navigation.
6. Review-status metadata is not currently mapped by this DB schema; the banner
   must state unavailable rather than infer PASS from a global report. Inspect
   interpretation-only case pages so they are not mistaken for authored CASEs.
7. Confirm the publisher uses only the v2 target; no main-site links except plain
   external source-case URLs. Missing/corrupt evidence or count metadata must stop
   publication while preserving the existing generated presentation.

## Author validation record

The initial DB snapshot has 15 laws, 319 elements, 164 annotated opinion IDs,
165 case-law contexts,832 annotation blocks,348 qualifying instances and 620
variant records. An additional 51 interpretation-only IDs yield 215 case pages;
with 30 law A/B pages, 319 element pages and four navigation indexes, the renderer emits 568 pages.
Each page displays the logical SQLite-dump snapshot digest, not a raw DB-file hash.
Rebuild the DB before comparing later snapshots; concurrent DB evolution can
change counts and digests legitimately.

Thirty Python tests and offline deployment guard tests pass. Tests include
all required model tables, missing/dangling evidence, forged instance flags,
source-hash/offset/text corruption, CRLF fidelity, URL traversal, exact snippets,
readonly inputs, and preservation of old pages on failure. Ruff/Pyright pass.
Twelve browser views at 390/1365px have no document-level horizontal overflow;
all their quote DOM nodes match the checked DB values, and a separate actual
browser test preserves CRLF/bare-CR quotation characters. Matrices intentionally
remain wide; this is an operator comparison PoC, not an approved final design.

Initial logical snapshot SHA256: `b8882353247abdd6e20d4e22922c166d68ccb8e2da50e13e0162a35c316318f8`.

Compact browser measurements: presentation-browser-check.json. No browser harness scripts or JavaScript are shipped in the presentation.

The initial model was built with tools/load.py from source revision c853444. The ignored local snapshot for QA is /home/mma/worktrees/neov2-r8/neov2/db/neov2.sqlite; it is not published or committed. Both A/B views use that same snapshot.

## Review received and bounded follow-up

Independent Fable review is committed at 71b069e; it reports fidelity PASS on the
three tested laws but identifies usability and status/provenance gaps. The author
follow-up keeps the reviewed DB snapshot and A/B comparison, makes frozen-versus-
current-tree counts visible, splits holding directions and excluded-context uses,
and displays available court/year metadata on examples. It does not invent case
captions, legal review statuses or migrate the matrix to a new taxonomy without
operator choice. See PRESENTATION-NOTES.md and the original independent report.