Added
- Added structural document pointer artifacts through `document(op="pointer_index")`,
`document(op="structural_retrieve")`, and `document(op="compare")`, with
section breadcrumbs, line/char/byte locators, source hashes, asset IDs, and
evidence-span provenance.
- Added `accessibility_report.json` readiness diagnostics inside the existing
`document` facade, keeping PDF safety, native structure, coverage, and
accessibility audits artifact-only without increasing the public tool count.
- Added A2T row search/filter/coverage support through `table_data(op="query_rows")`
and citation coverage through `table_cite(op="coverage")`.
Changed
- A2T tables now persist stable row IDs, row provenance, and manifest sidecars,
and cell history now follows stable row IDs instead of drifting after row
deletion.
- Large A2T Markdown/HTML renders now use artifact-only streaming writers with
file hashes and bounded previews, preventing Cline/stdio OOM from inline
full-table strings.
- Document readiness now exposes a single v2 contract with
`status`, `blockers`, `warnings`, `capabilities`, `artifacts`,
`missing_audits`, `invalid_audits`, `audit_artifacts`, and `next_actions`,
and read-only discovery avoids creating document directories.
Fixed
- Fixed manifest path trust in readiness and structural retrieval so escaped
artifact paths cannot leak outside the canonical document directory.
- Fixed structural pointer evidence matching so stale or fabricated
`citation_index.jsonl` spans are not promoted unless doc/revision/locator
identity matches the current segmentation.
- Fixed cached audit readiness so `skipped` / `unavailable` or stale
source-revision/locator artifacts are blockers and are rebuilt by
`document(op="audit")` instead of being treated as ready.
- Fixed skipped-large-table startup UX so skipped tables remain visible with
actionable metadata and can be deleted safely.
- Fixed `row_id` citation lookups so unknown row IDs fail closed instead of
falling back to table-level citations.