document-centered evidence workspace for capturing, managing, presenting, and re-opening citations
Find a file
tegwick d14514891e refactor(anchor): consume extracted evidence-anchor package (EANCH-WP-0001-T05)
Replace the in-repo src/anchor/ slice with a dependency on the extracted
@citation-evidence/evidence-anchor package (link:../evidence-anchor).

- package.json: add the link dependency
- repoint all @anchor/{index,selectors,types} imports and vi.mock targets to
  the package barrel; the node-env anchor-source-roundtrip test uses the pure
  ./selectors and ./types subpaths (no pdfjs pulled into a node environment)
- drop the @anchor alias from tsconfig paths and vite resolve
- delete src/anchor/ (behavior now owned by evidence-anchor)

Verified green: pnpm typecheck, pnpm test (26 files / 95 tests), pnpm build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 21:08:27 +02:00
.claude/rules docs: workplan-first agent guidance prose (CUST-WP-0055 T04 batch 4) 2026-07-08 17:22:22 +02:00
.forgejo/workflows Add Forgejo CI smoke workflow (enablement template) 2026-07-08 12:29:50 +02:00
docs Implement CE-WP-0009: wire umbrella to @citation-evidence/engine 2026-06-22 19:45:11 +02:00
fixtures/pdfs Implement CE-WP-0002 T03-T09: ingest, anchor resolution, engine, UI, persistence, e2e 2026-05-25 10:58:11 +02:00
history CE-WP-0006/0007: Capture view polish, workplans, and UX refinements 2026-06-08 00:37:34 +02:00
registry Draft capability entry (reuse-surface REUSE-WP-0017-T04, cohort 1) 2026-07-06 19:03:42 +02:00
scripts Add make check-install for umbrella layout consistency 2026-06-22 20:10:38 +02:00
src refactor(anchor): consume extracted evidence-anchor package (EANCH-WP-0001-T05) 2026-07-08 21:08:27 +02:00
tests/integration refactor(anchor): consume extracted evidence-anchor package (EANCH-WP-0001-T05) 2026-07-08 21:08:27 +02:00
wiki Implement CE-WP-0005 T01-T08: demo app — sessions, uploads, ZIP archive 2026-05-26 14:57:28 +02:00
workplans Normalize agent instructions and workplan frontmatter (STATE-WP-0067) 2026-06-22 23:16:24 +02:00
.custodian-brief.md chore(consistency): sync task status from DB [auto] 2026-07-08 20:57:14 +02:00
.gitignore Implement CE-WP-0001 Foundations: TS scaffold, lint boundaries, normalize v1, fixtures 2026-05-25 00:13:03 +02:00
.nvmrc Implement CE-WP-0001 Foundations: TS scaffold, lint boundaries, normalize v1, fixtures 2026-05-25 00:13:03 +02:00
.repo-classification.yaml Human-review .repo-classification.yaml (CUST-WP-0050 follow-up) 2026-06-22 17:56:16 +02:00
AGENTS.md Regenerate agent instructions from state-hub templates (CUST-WP-0055 T01) 2026-07-08 14:50:18 +02:00
CLAUDE.md Normalize agent instructions and workplan frontmatter (STATE-WP-0067) 2026-06-22 23:16:24 +02:00
eslint.config.js Implement CE-WP-0009: wire umbrella to @citation-evidence/engine 2026-06-22 19:45:11 +02:00
index.html Implement CE-WP-0002 T03-T09: ingest, anchor resolution, engine, UI, persistence, e2e 2026-05-25 10:58:11 +02:00
INTENT.md Establish shared-contracts home, dependency map, MVP workplans, and umbrella-first strategy 2026-05-24 16:42:25 +02:00
LICENSE Initial commit 2026-05-24 13:20:45 +00:00
Makefile Add make check-install for umbrella layout consistency 2026-06-22 20:10:38 +02:00
package.json refactor(anchor): consume extracted evidence-anchor package (EANCH-WP-0001-T05) 2026-07-08 21:08:27 +02:00
pnpm-lock.yaml refactor(anchor): consume extracted evidence-anchor package (EANCH-WP-0001-T05) 2026-07-08 21:08:27 +02:00
README.md Add make check-install for umbrella layout consistency 2026-06-22 20:10:38 +02:00
SCOPE.md docs(scope): fill in SCOPE.md — resolves C-30 staleness 2026-07-08 21:02:54 +02:00
tsconfig.json refactor(anchor): consume extracted evidence-anchor package (EANCH-WP-0001-T05) 2026-07-08 21:08:27 +02:00
vite.config.ts refactor(anchor): consume extracted evidence-anchor package (EANCH-WP-0001-T05) 2026-07-08 21:08:27 +02:00
vitest.config.ts Implement CE-WP-0002 T03-T09: ingest, anchor resolution, engine, UI, persistence, e2e 2026-05-25 10:58:11 +02:00

citation-evidence

A document-centered evidence workspace for capturing, managing, presenting, and re-opening citations. The umbrella over the six-package design described in INTENT.md and wiki/ArchitectureOverview.md.

Shared types and engine services live in the extracted @citation-evidence/engine package (link:../citation-engine). Remaining partitions stay under src/ until each subsystem extracts.

Documentation

Where What
INTENT.md Project intent, scope, the umbrella-first decision
wiki/ PRD, Architecture, SharedContracts, DependencyMap
docs/decisions/ ADRs (architecturally significant decisions)
workplans/ Ralph-driven workplans that implement the MVP slice
history/ Time-stamped assessments and post-mortems

The canonical contracts are in wiki/SharedContracts.md; the partition boundaries are in wiki/DependencyMap.md. Both are referenced from every workplan and from each sister repo's INTENT.md.

Repository layout

Requires sibling checkout: ../citation-engine (see package.json link: dep).

src/
  anchor/   # selector creation/resolution, viewer adapter contract → becomes evidence-anchor
  source/   # ingest, fingerprint, extraction, recovery → becomes evidence-source
  binder/   # evidence-to-target binding, visual guide → becomes evidence-binder
  work/     # review UI (sidebar, viewer shell)    → becomes citation-work
  app/      # the reference workspace shell        → stays in citation-evidence

The dependency-edge rules between partitions are enforced by ESLint via eslint-plugin-boundaries (see eslint.config.js). Extraction to a sister repo is intended to be a git mv plus a package.json cut — nothing more.

Sister repos

Peers under ~/:

Dev workflow

Requirements: Node 20 LTS (see .nvmrc) and pnpm 9.

# citation-engine must be checked out next to this repo (../citation-engine)
make check-install   # diagnose layout problems before install
pnpm install
pnpm dev        # vite dev server (once src/app/ has a real entry)
pnpm test       # vitest one-shot
pnpm test:watch
pnpm lint       # eslint with boundary rules
pnpm typecheck  # tsc --noEmit
pnpm build      # production bundle

Workplans (Ralph)

Workplans drive incremental implementation through the ralph loop. The harness lives in ~/ralph-workplan/; see docs/mvp-workplans-index.md for the active list and ordering.

/ralph-workplan workplans/CE-WP-0001-foundations.md

The loop self-retires when every task in the file has status: done and the workplan's frontmatter status: done.