Source of truth — for the cross-subproject contract. Each subproject's own
spec/remains the single source of truth for that subproject's internals. This entity-level spec is the canonical artefact for everything that spans the trio: how front-end → service REST API → embedded matcher compose, the DTO contract between the service and the matcher, shared invariants, and entity-wide goals. When this spec and a crate spec disagree about crate internals, the crate spec wins; when they disagree about the integration contract, this spec wins. Open a task in §13 to bring the loser in line — do not silently rewrite either document.Three-part PRs. A behavioural change is one PR: spec edit + code edit + test edit. See
AGENTS/spec-driven-development.md.
For shared infrastructure (technology stack, observability,
compliance), see the project-root AGENTS.md and
agents/share/*. For entity-level reference
detail (subproject map, model shapes, matching layers), see
AGENTS/.
| Subproject | Role | Spec |
|---|---|---|
| worker-service-with-loco | System of record — REST/FHIR API, PostgreSQL, search, audit | spec (§1–§18) |
| worker-matcher-rust-crate | Canonical pairwise matching library, embedded by the service | spec (§1–§25) |
| worker-front-end-with-svelte | Operator UI — SvelteKit SPA over the service REST API | spec (§1–§18) |