evidence-anchor/workplans/EANCH-WP-0004-viewer-shell-dom-wiring.md
tegwick 902bec3dfe
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Sync State Hub task IDs for EANCH-WP-0004 (fix-consistency writeback)
2026-07-09 09:59:07 +02:00

100 lines
No EOL
2.5 KiB
Markdown

---
id: EANCH-WP-0004
type: workplan
title: "Wire HtmlViewerAdapter into the review workspace viewer shell"
domain: infotech
repo: evidence-anchor
status: finished
owner: codex
topic_slug: citation_evidence_mvp
created: "2026-07-09"
updated: "2026-07-09"
spec_refs:
- INTENT.md
- SCOPE.md
- ../citation-evidence/wiki/SharedContracts.md
- src/dom/html-viewer-adapter.tsx
state_hub_workstream_id: "e0f10f55-55f2-4fa5-abec-d3d175889e09"
---
# EANCH-WP-0004 — Viewer Shell DOM Wiring
## Goal
Connect `HtmlViewerAdapter` (`evidence-anchor/dom`) to the citation-evidence
review workspace so users can upload, view, select, annotate, and reopen
HTML/Markdown documents — not only PDFs.
## Task Breakdown
## T01 — Browser upload path for HTML/Markdown
```task
id: EANCH-WP-0004-T01
status: done
priority: high
state_hub_task_id: "aaef0a90-fa94-4a23-9607-a336294033cd"
```
Add `ingestHtmlFromFile` / `ingestMarkdownFromFile` and `resolveDomViewerHtml`
to `evidence-source/browser`, extending the byte store to hold non-PDF bytes.
## T02 — Upload dropzone accepts HTML/Markdown
```task
id: EANCH-WP-0004-T02
status: done
priority: high
depends_on: [T01]
state_hub_task_id: "5dae1ce1-c184-4d60-b649-f301968a6cf7"
```
Extend `citation-work` `UploadDropzone` to ingest `.html` / `.md` files via
the new browser helpers.
## T03 — ViewerShell routes by representation type
```task
id: EANCH-WP-0004-T03
status: done
priority: high
depends_on: [T02]
state_hub_task_id: "0e2148d5-8ea8-4a7b-9436-9c85b9162d88"
```
Branch `ViewerShell` on `representationType`: PDF → `PdfViewerAdapter`,
`html-dom` / `markdown-rendered``HtmlViewerAdapter`. Widen
`PendingSelection` to `SelectionCapture`.
## T04 — HtmlViewerAdapter scroll parity
```task
id: EANCH-WP-0004-T04
status: done
priority: medium
depends_on: [T03]
state_hub_task_id: "d27f4c58-8276-4099-855f-8863a556fd4c"
```
Add `scrollRequestKey` to `HtmlViewerAdapter` so repeat-click re-scroll works
like the PDF adapter.
## T05 — Verification + close-out
```task
id: EANCH-WP-0004-T05
status: done
priority: high
depends_on: [T04]
state_hub_task_id: "ba99b5c0-ca2e-4370-b9b6-48818a8c797e"
```
Tests green in `evidence-source`, `evidence-anchor`, `citation-work`, and
`citation-evidence`; `fix-consistency` clean; progress note.
**Verification (2026-07-09):**
- `evidence-source`: 82 tests (browser view-html + upload).
- `evidence-anchor`: 42 tests; `HtmlViewerAdapter` scroll parity.
- `citation-work`: 12 tests including `ViewerShell.dom.test.tsx`.
- `citation-evidence`: typecheck clean.