Files
citation-engine/workplans/CENG-WP-0001-intent-placeholder.md
tegwick ed64f0c57d Normalize agent instructions and workplan frontmatter (STATE-WP-0067)
- Align agent files with on-disk workplan prefixes (infer from workplan ids)
- Set workplan domain to registered domain_slug; add topic_slug where applicable
- Repair frontmatter delimiter formatting; migrate legacy task status literals
- Regenerate AGENTS.md, CLAUDE.md, and .claude/rules from State Hub templates
2026-06-22 23:16:24 +02:00

105 lines
2.5 KiB
Markdown

---
id: CENG-WP-0001
type: workplan
title: "Extract engine from citation-evidence umbrella"
domain: infotech
repo: citation-engine
status: done
owner: codex
topic_slug: citation_evidence_mvp
topic_id: 96fa8e80-9f74-40f2-84cd-644e9747b9ec
created: "2026-06-21"
updated: "2026-06-22"
state_hub_workstream_id: "ccd217a2-572d-435d-9a29-e0a55b6a4311"
---
# CENG-WP-0001 — Extract Engine from Umbrella
Extract `citation-evidence/src/shared/` and `citation-evidence/src/engine/` into
this repository as a standalone TypeScript package (`@citation-evidence/engine`).
Prerequisite: umbrella MVP complete (CE-WP-0001..0008).
## Dependency order
```
T01 (toolchain scaffold)
└─ T02 (copy shared/ + engine/ from umbrella)
└─ T03 (conformance reference: wiki/SharedContracts.md)
└─ T04 (test + typecheck + lint green)
```
---
## T01 — Toolchain scaffold
```task
id: CENG-WP-0001-T01
status: done
priority: critical
state_hub_task_id: "755e36b7-983d-48e8-af94-fd074db7f745"
```
Deliverables:
- `package.json` with `test`, `lint`, `typecheck` scripts
- `tsconfig.json` with `@shared/*` and `@engine/*` path aliases
- `vitest.config.ts`, `eslint.config.js`, `.nvmrc`
- Node-oriented `.gitignore`
---
## T02 — Extract shared/ and engine/
```task
id: CENG-WP-0001-T02
status: done
priority: critical
depends_on: [T01]
state_hub_task_id: "01c0295a-d524-48cc-848c-d55eefbedbe2"
```
Copy the umbrella partitions verbatim:
- `src/shared/` — domain types, enums, normalization
- `src/engine/` — services, repos, events, rendering, persistence
No import path changes required; aliases match the umbrella layout.
---
## T03 — SharedContracts conformance reference
```task
id: CENG-WP-0001-T03
status: done
priority: high
depends_on: [T02]
state_hub_task_id: "aee0fcae-2a26-47a7-be0b-b2940f4c7767"
```
Copy `wiki/SharedContracts.md` from the umbrella so enum conformance tests
(`evidence-link.test.ts`) keep a local reference.
---
## T04 — Verification
```task
id: CENG-WP-0001-T04
status: done
priority: critical
depends_on: [T02, T03]
state_hub_task_id: "46f76120-e5b3-40ef-b5e3-599db1c4b82b"
```
- `pnpm test` — 89 tests pass
- `pnpm typecheck` — clean
- `pnpm lint` — clean (shared/engine boundary enforced)
---
## Follow-up
- `CE-WP-0009` — wire `citation-evidence` to consume this package via `link:` and
delete in-repo copies (`citation-evidence/workplans/CE-WP-0009-engine-workspace-wireup.md`).
- `CENG-WP-0002` — ADR-0002, publish readiness, contract sync
(`workplans/CENG-WP-0002-package-distribution.md`).