These workplans exist only in the retired local hub. Their random pre-ADR-007 identifiers are refused by C-06 as stale references, so they cannot be registered. Deriving from the canonical record id takes no identity from anything: central does not hold them and the old ids die with the cache. Records central already holds were deliberately left untouched. Refs CUST-WP-0068-T06 Assistant: claude-code Assistant-Model: opus Assistant-Process: 2583210@bnt-lap001 Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006 |
||
|---|---|---|
| .claude/rules | ||
| .forgejo/workflows | ||
| docs | ||
| registry | ||
| src | ||
| workplans | ||
| .custodian-brief.md | ||
| .gitignore | ||
| .nvmrc | ||
| .repo-classification.yaml | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| eslint.config.js | ||
| INTENT.md | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| SCOPE.md | ||
| tsconfig.json | ||
| vitest.config.ts | ||
| WORK-RECORDS.md | ||
evidence-binder
@citation-evidence/evidence-binder — connect evidence items to structured
targets (form fields, claims, requirements, …) and render the visual guide that
ties a target, its evidence card, and the source highlight together.
This is the canonical home of the binder implementation, extracted from
citation-evidence/src/binder/ (EBIND-WP-0001).
What this package owns
- Evidence links —
EvidenceLinkrepository + binding service (services/bindings.ts,repos/in-memory-links.ts). Two query directions: all evidence for a target and all targets for an evidence item. Emits the canonical engine bus events (EvidenceLinkCreated/Updated/Removed,EvidenceItemActivated). - Active state — the
(activeTarget, activeEvidenceItemId, activeAnnotationId)machine and React provider (state/active.ts) that the form UI, evidence sidebar, and viewer adapter coordinate through. - Rect registry contract (SharedContracts §7) — a single registry into which
independent renderers publish
field/evidence-card/highlightrects, plus the change pumps, React hooks, and the SVGOverlaythat draws the guide (visual-guide/). - Reference form UI —
FormRendererandFieldDefinitionForm, kept as supported, target-neutral exports (seedocs/adr/ADR-0001-reference-ui-surface.md).
BinderProvider composes all four concerns behind one mount.
Dependency boundary
Per citation-evidence/wiki/DependencyMap.md §2, this package may depend on
citation-engine and evidence-anchor, and must not depend on
evidence-source, citation-work, or the umbrella citation-evidence. The MVP
slice imports only citation-engine (shared types + event bus). The boundary is
enforced by eslint.config.js. Shared-contract authority stays in the umbrella
wiki.
Develop
pnpm install # links @citation-evidence/engine from ../citation-engine
pnpm test # vitest (node + happy-dom suites)
pnpm typecheck # tsc -b --noEmit
pnpm lint # eslint (enforces the dependency boundary)
Requires a sibling checkout of citation-engine (see .nvmrc for the Node
version). See docs/extraction-inventory.md for the extraction boundary and
resolved contract deltas.