030-source-adapter-framework
Source adapters: one contract, incremental and resumable, so a capability is never a fork
Lifecycle approvedImplementation pendingVerification unknownQualification unknown
The predecessor's ecosystem grew by forking the server: fifty-odd capabilities, each a copy of the same six hundred lines, so a fix in one never reached the others. This spec is the alternative. A source is an implementation of one trait, registered by name, driven by one runner that owns fetching pages, mapping to candidates, passing the gate, staging the transaction, recording a resumable cursor, and reporting progress. Adding a source is a module and a fixture set, and it inherits dedup, retries, provenance, egress governance, and the untrusted content boundary without restating any of them.
Read the full pinned specification ↗Relationships
depends on
depended on by
Claimed units
- establishes
{ "kind": "file", "path": "crates/aicortex-ingest/Cargo.toml" } - establishes
{ "kind": "file", "path": "crates/aicortex-ingest/src/lib.rs" } - establishes
{ "kind": "file", "path": "crates/aicortex-ingest/src/adapter.rs" } - establishes
{ "kind": "file", "path": "crates/aicortex-ingest/src/run.rs" } - establishes
{ "kind": "file", "path": "crates/aicortex-ingest/src/cursor.rs" } - establishes
{ "kind": "file", "path": "crates/aicortex-ingest/src/mapping.rs" } - establishes
{ "kind": "file", "path": "crates/aicortex-ingest/src/registry.rs" } - establishes
{ "kind": "file", "path": "crates/aicortex-ingest/src/migrations.rs" } - establishes
{ "kind": "file", "path": "crates/aicortex-ingest/tests/adapter.rs" } - establishes
{ "kind": "file", "path": "crates/aicortex-ingest/tests/run.rs" } - extends
{ "nature": "additive", "spec": "012-store-schema-and-repositories", "unit": { "kind": "file", "path": "crates/aicortex-store/src/migrations.rs" } } - extends
{ "nature": "additive", "spec": "020-http-api-and-scopes", "unit": { "kind": "file", "path": "crates/aicortex-api/src/router.rs" } }
Source headings
- 030: Source adapters
- 1. Purpose
- 2. Territory
- 3. Behavior
- 4. Functional requirements
- 5. Acceptance criteria
- 6. Out of scope
- 7. Resolved decisions
- Verification
Frozen anchors
No frozen anchors declared.