Repository navigation
Add an experimental Keep ReferenceStore adapter #761
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 an experimental Keep ReferenceStore adapter. Echo has the merged physical-content port and MemoryTier/DiskTier adapters. The experimental Keep backend remains to be implemented.
3. Proposed Solution
Pin the inspected Keep revision. Add an optional Echo adapter over Keep ReferenceStore. Reuse the port conformance suite. Keep the adapter disabled by default and label its receipts non-durable.
4. Prerequisites
- Complete K01. Its contract supplies required behavior.
- Complete K02. Its contract supplies required behavior.
Recheck external capability prerequisites before execution. Record accepted edges on #722. GitHub records #759 and #760 as blockers of #761. Recheck the accepted edges before execution.
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
Both existing CAS and Keep pass one backend-neutral suite. The adapter changes no Echo or WSC identity. No ReferenceStore receipt claims restart durability.
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: Byte equality, identity substitution, missing chunks, corrupt layouts, deterministic layout selection, capacity limits, and source interruption.
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