@agents/share/overview.md
Subprojects are grouped one directory per entity. Each entity
directory holds a front-end web app, a matcher (or verifier) library
crate, a service API crate, and entity-level spec/ + AGENTS/
umbrella docs.
Each crate is self-contained: it owns its REST API, its persistence schema, and its matching algorithm. They share an architecture and a documentation layout, not code.
- CRUD on its entity with soft delete and an audit trail
- Probabilistic + deterministic matching with weighted, configurable scoring
- Full-text search via Tantivy (fuzzy, phonetic where applicable)
- Duplicate detection real-time on create and via batch deduplicate scans
- Record merging with link tracking and a transferred-data snapshot
- Data validation at the create/update boundary (returns
422on failure) - Privacy controls — per-field masking, GDPR export, consent records
- Event streaming of CRUD operations
- REST API (Axum) with OpenAPI/Swagger
- gRPC stub (Tonic) for high-throughput callers
- Observability —
tracing+ OpenTelemetry OTLP
See agents/share/rust-loco-stack.md for the full dependency inventory.
From any subproject root:
# REST + gRPC API
cargo run --release
# Tests
cargo test --lib
# Benchmarks (where available)
cargo benchTop-level reference docs in agents/share/:
| File | Purpose |
|---|---|
| overview.md | High-level project overview |
| architecture.md | Layered architecture |
| rust-loco-stack.md | Full Rust + Loco dependency stack |
| loco.md | Loco framework (backend-only conventions) |
| match-search-merge.md | Match / search / merge workflows |
| match.md | Matching algorithms |
| search.md | Search (Tantivy) |
| merge.md | Merge workflow |
| dataflow.md | Create / search / merge data flows |
| privacy.md | Masking, GDPR, consent |
| auditability.md | Audit logging + event streaming |
| availability.md | Health, scaling |
| observability.md | Tracing + OpenTelemetry (summary) |
| rust-tracing-opentelemetry-stack.md | Tracing + OpenTelemetry (full) |
| restful.md | REST API conventions |
| postgresql.md | PostgreSQL setup |
| locales.md | i18n & l10n |
| compliance-for-healthcare.md | HIPAA, NHS, … |
| compliance-for-technology.md | ISO, GDPR, … |
Per-crate reference docs live in <crate>/AGENTS/:
index.md— directory of the crate's local docsmodels.md— domain model referencematching.md— per-crate matching tuningrestful.md— REST API surfacetesting.md— test layout
┌─────────────────────────────────────────────────────────────┐
│ Client (curl / SDK / gRPC client) │
└────────────────────────────┬────────────────────────────────┘
│
┌────────────────▼────────────────┐
│ REST API (Axum) + gRPC (Tonic) │
│ + OpenAPI/Swagger UI │
│ /api/<plural>/… │
└────────────────┬────────────────┘
│
┌────────────────▼────────────────┐
│ Application logic │
│ • Validation & normalization │
│ • Matching (probabilistic + │
│ deterministic) │
│ • Privacy (masking, GDPR) │
│ • Audit log emission │
└────────────────┬────────────────┘
│
┌────────────────────┼─────────────────────┐
│ │ │
┌───────▼──────┐ ┌────────▼────────┐ ┌────────▼────────┐
│ PostgreSQL │ │ Tantivy index │ │ Event stream │
│ (SeaORM) │ │ (full-text + │ │ (Fluvio / │
│ │ │ fuzzy/phonetic)│ │ in-memory) │
└──────────────┘ └─────────────────┘ └─────────────────┘
Backend-only Rust services. All crates compile cleanly and pass their lib tests.
Each crate is multi-licensed; see the individual Cargo.toml for terms.