# v0.10.0 Research Library Reading Quality Validation
<a id="v0100-research-library-reading-quality-validation"></a>

## Scope

This report records repository-local completion-gate evidence for the v0.10.0 Research Library reading-quality and cross-linking refinement. It does not prove production deployment, live indexing, legal ownership/status, field performance, or independently verifiable machine-execution provenance.

## Implemented release surface

- Release constant: `0.10.0`.
- Runtime: PHP 8+ + semantic HTML5 + first-party CSS + native JavaScript.
- Canonical public routes in `sitemap.xml`: **76** (unchanged from v0.9.0).
- Curated supplied research reports: **25** (report bodies unchanged).
- Public report-reader routes: **25** plus `/research/library/`.
- No database, package-manager dependency, third-party Markdown parser, search service, or front-end framework added.

## Research-reader refinement verified

- Report prose is bounded to a readable measure with improved heading/paragraph rhythm.
- Simple nested Markdown lists now retain nested `<ul>/<ol>` structure; the known nested-list case in the legal-personhood transition report rendered nested list markup rather than flattening all items.
- Rendered Markdown tables use focusable labeled regions and header-derived `data-label` values for every body cell. Narrow-screen CSS can therefore present each row as a labeled card rather than a wide anonymous grid.
- Report TOCs use native `<details>` markup. First-party JS adds responsive open/collapse behavior and current-section highlighting when supported; the report remains readable without JS.
- Report pages expose source attachment filename, source SHA-256, curated SHA-256, durable `#research-body`, and durable `#curation-boundary` links.
- Server-derived word count and reading-time values are also emitted in the report `Article` structured data.
- Related-report cards are deterministic navigation aids derived from existing manifest topic/title/summary fields. Previous/next links are limited to the current topic ordering. They do not assert citation, endorsement, agreement, or semantic equivalence.
- Research-library filtering exposes a live visible-result count.

## Executed checks

### Syntax and runtime

- PHP lint: **95/95 PHP files passed**.
- Native JavaScript syntax: `node --check assets/js/site.js` passed.
- Local PHP route/report sweep completed without detected PHP warning/fatal output in the tested responses.

### Canonical route and metadata sweep

- Sitemap canonical routes: **76/76 returned HTTP 200**.
- Route titles: **76/76 present and unique**.
- Meta descriptions: **76/76 present and unique**.
- Canonicals: **76/76 self-referential to the intended clean URL**.
- H1 count: **exactly one per canonical page**.
- JSON-LD: rendered JSON-LD parsed successfully across the route sweep.
- Unique rendered local targets checked: **136**; all resolved directly after this validation report existed.
- Missing-trailing-slash variants checked: **75**; each converged to its canonical directory URL.
- Explicit canonical-route `/index.php` variants checked: **76**, including homepage `/index.php`; each converged to its canonical URL.
- Root legacy PHP endpoints checked: **14**; each returned a permanent redirect rather than a canonical public page.
- First-party public URL-bearing metadata/navigation remained free of `.php` URLs. External research citations were not rewritten merely because an external publisher legitimately uses `.php` in its own URL path.

### Research-reader rendering sweep

- Manifest report routes rendered: **25/25**.
- Generated report TOC links inspected: **699**; each referenced a generated article heading ID.
- Rendered Markdown tables inspected: **82**; wrappers were focusable/labeled and body cells carried non-empty header-derived labels.
- Related-report destination coverage: all **25** report routes appeared as a related destination somewhere in the deterministic graph, and all related targets resolved directly.
- Every report exposed its source and curated SHA-256 values in the reader surface.
- Report article output contained only the first-party renderer's allowed semantic/presentation tags; no script/iframe/object/embed execution surface was produced from report Markdown.
- Report `Article` structured data contained a positive integer `wordCount` and ISO-8601-style `timeRequired`, matching the visible server-derived word-count metadata.

### Research corpus integrity

- Manifest entries: **25**.
- Original supplied source attachments located and source SHA-256 verified: **25/25**.
- Curated report file SHA-256 values matched `report-manifest.json`: **25/25**.
- Required `#curation-boundary` and `#research-body` anchors: **25/25**.
- Existing `.uai/long-term-memory.uai` report deep pointers remained present for all 25 reports.
- Report bodies were not edited during v0.10.0, so accepted v0.9.0 curation/truth boundaries remain unchanged.

### Durable-link and UAIX checks

- Repository-local Markdown links checked: **173**; paths/anchors resolved under the repository or local canonical site where applicable.
- Typed `.uai` path pointers checked: **268**; non-wildcard file/directory pointers resolved.
- Exact wizard update URL remains unchanged in `AGENTS.md`, `.uai/readme.human`, and `.uai/agent-pickup.uai`.
- Active File Handoff buckets still contain only inert `.keep` placeholders.
- No reviewed Advanced Persona source was introduced or inferred.

### Taboo and credential hygiene

- The literal owned by `TABOO-001` occurs only in `.uai/taboo.uai` and nowhere else in the repository.
- The previously targeted paternalistic wording remains absent from repository text.
- Focused private-key/API-token/access-key marker scanning produced no raw-secret finding requiring removal.

## Visual/browser limitation

Headless Chromium screenshot automation was attempted against the local report reader but did not complete reliably in this container session. Responsive behavior was therefore validated through server-rendered markup, CSS media-query rules, DOM attributes, and local HTTP checks rather than claiming a completed screenshot/browser matrix. Field Core Web Vitals remain unavailable.

## Skipped / externally unavailable checks

The following cannot be proven from the repository package and were not guessed:

- production DNS/TLS/www/apex/reverse-proxy/cache/CDN behavior;
- production PHP/web-server configuration beyond local built-in-server behavior;
- live search indexing or webmaster-console ownership/state;
- field Core Web Vitals and real-user browser metrics;
- legal domain/repository ownership or organizational status;
- independently verifiable cryptographic provenance of machine execution;
- Git branch/history/remote, because `.git` is absent;
- live deployment, because deployment authority/credentials were not supplied.

## Completion boundary

v0.10.0 is acceptable for root packaging after the final archive is clean-extracted and the canonical-route smoke, report-reader checks, taboo scan, source/curated hashes, UAIX paths, and archive-root structure are rechecked against the packaged copy.
