Extract engine from citation-evidence umbrella (CENG-WP-0001)

Bootstrap @citation-evidence/engine as a standalone TypeScript package
with shared types and engine services copied from the umbrella MVP.
All 89 tests pass with lint and typecheck clean.
This commit is contained in:
2026-06-22 18:02:05 +02:00
parent 62ba1d1140
commit 78085e1eb3
56 changed files with 7915 additions and 205 deletions

View File

@@ -1,19 +1,44 @@
# citation-engine
Domain model and tooling for citations — the shared vocabulary
(`Document`, `Selector`, `Annotation`, `EvidenceItem`, `EvidenceLink`,
`EvidenceSet`, state enums, branded IDs, canonical text normalization)
together with the services and repositories that act on it.
Core domain model and engine services for the citation-evidence ecosystem.
## MVP status: INTENT only
This package provides the shared vocabulary (`Document`, `Selector`, `Annotation`,
`EvidenceItem`, `EvidenceLink`, `EvidenceSet`, state enums, branded IDs,
canonical text normalization) together with in-memory repositories, orchestration
services, the event bus, and citation card renderers.
During the citation-evidence MVP, code lives upstream in
[`citation-evidence`](../citation-evidence/) under `src/shared/` and
`src/engine/`. This repo currently holds `INTENT.md` describing what will
move here once the engine API stabilises. Until extraction, contract
changes belong in
[`citation-evidence/wiki/SharedContracts.md`](../citation-evidence/wiki/SharedContracts.md),
not here.
## Layout
The dependency map (`citation-evidence/wiki/DependencyMap.md`) marks this
package as a **leaf node**: nothing internal depends on anything else.
```
src/
shared/ # types, enums, pure helpers
engine/ # services, repositories, rendering, persistence
wiki/
SharedContracts.md # conformance reference (enum lists, normalization rules)
```
## Development
```bash
pnpm install
pnpm test
pnpm typecheck
pnpm lint
```
## Extraction status
Code was extracted from `citation-evidence/src/shared/` and `citation-evidence/src/engine/`
after the umbrella MVP (CE-WP-0001..0008) stabilized. The umbrella repo still carries
a copy during the transition; this repository is the canonical home going forward.
Contract changes belong in `citation-evidence/wiki/SharedContracts.md` first, then
sync to `wiki/SharedContracts.md` here.
## Related repos
- [`citation-evidence`](../citation-evidence/) — umbrella reference workspace
- [`evidence-anchor`](../evidence-anchor/) — selector creation and resolution
- [`evidence-source`](../evidence-source/) — document ingestion
- [`citation-work`](../citation-work/) — review workspace UX
- [`evidence-binder`](../evidence-binder/) — evidence-to-field linking