Repository navigation
Add the Echo physical-content port and existing CAS adapters #760
Description
1. Background Context
The user requests Keep as Echo's physical CAS backend. Issue #722 owns integration. The canonical contract accepts experimental conformance. It does not accept production replacement.
Echo source: crates/echo-cas/src/lib.rs, crates/echo-cas/src/disk.rs, and crates/warp-core/src/wsc/store.rs.
Keep source: src/lib.rs, src/reference/, and src/adapters/durable/ at 3165890e9291cfb5fe10e81a9d7cd151f3e59464.
2. Problem Description
Add the Echo physical-content port and existing CAS adapters. Current Echo has no physical-content port or Keep adapter.
3. Proposed Solution
Add an Echo-owned fallible complete-object port. Implement MemoryTier and DiskTier adapters. Keep types inside backend adapters. Require private staging and atomic output promotion. Report unsupported evidence explicitly.
4. Prerequisites
- Recheck the Echo physical-content boundary and existing CAS adapter contracts.
Recheck external capability prerequisites before execution. Record accepted edges on #722. These task edges are evidence-backed proposals, not recorded tracker dependencies.
5. Scope
In: The stated integration slice and its executable evidence. Use an optional backend where code is experimental.
Out: Graph ontology changes, WSC wire-identity changes, application-specific objects, silent fallback, and removal of echo-cas.
6. Acceptance Criteria
Existing backends pass the same complete-object tests. No failed read exposes a partial object. Existing consumers retain compatible behavior.
7. Definition of Done
The named contract and witness pass. Current documents state the exact supported posture. One coherent PR records the evidence and integration commit.
8. Test Plan
Golden: A focused adapter or identity conformance test proves the stated contract. Name its exact command before code changes.
Edges: Missing content, corrupted content, failed writes, failed promotion, resource refusal, and unchanged visible output after failure.
Known failure modes: A backend receipt can overstate identity, complete-object coverage, visibility, or durability. Each negative witness must prove refusal or operational failure.
Fuzz and stress: Use deterministic bounded fixtures. Enforce the shared build, data, and log limits. Do not start an unbounded campaign.
9. Stakeholders
James Ross owns the adoption decision. Echo consumers need stable content identity and causal evidence. Keep consumers need exact physical bytes and honest receipts.
Related: Echo issue #722 and the physical-content boundary.
Activity