diff --git a/crates/echo-cas/tests/identity_golden.rs b/crates/echo-cas/tests/identity_golden.rs new file mode 100644 index 00000000..c6969ab6 --- /dev/null +++ b/crates/echo-cas/tests/identity_golden.rs @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: Apache-2.0 +// © James Ross Ω FLYING•ROBOTS +//! Raw Echo identity vectors retained from PR #723 at db3e5dfe. +//! Original fixture provenance names b3sum 1.8.5. This test does not execute Keep. + +use echo_cas::blob_hash; + +#[test] +fn raw_echo_identity_matches_retained_independent_vectors() { + let ramp = (u8::MIN..=u8::MAX).collect::>(); + for (bytes, expected) in [ + ( + &[][..], + "af1349b9f5f9a1a6a0404dea36dcc9499bcb25c9adc112b7cc9a93cae41f3262", + ), + ( + b"Keep exact bytes.\n".as_slice(), + "3d4f69a42f4cde6629970fe61d548f60d475a0f9ac26a24be5fab204b6eb030a", + ), + ( + ramp.as_slice(), + "4a495ba42461748eca8fdad618f976aa726cc2903de9fcb40735a786ac1c196b", + ), + ] { + assert_eq!(blob_hash(bytes).to_string(), expected); + } +} diff --git a/docs/architecture/echo-keep-physical-content-boundary.md b/docs/architecture/echo-keep-physical-content-boundary.md index 9c45a0d0..0a411ac0 100644 --- a/docs/architecture/echo-keep-physical-content-boundary.md +++ b/docs/architecture/echo-keep-physical-content-boundary.md @@ -9,7 +9,7 @@ - **Implementation posture:** `experiments/echo-keep` supplies a bounded dual-identity bridge against Keep revision `3165890e9291cfb5fe10e81a9d7cd151f3e59464` in a separate Rust 1.96 workspace. `echo-cas::physical_content` supplies the fallible complete-object port and MemoryTier/DiskTier adapters. Borrowed views certify no pinned filesystem generation, complete-view absence, retention, synchronization, or crash durability. The disabled-by-default `reference-adapter` feature supplies an in-memory Keep ReferenceStore backend with private identity/layout bindings and explicit payload, object, count and layout-entry limits. Process death loses its store and bindings; no durable Keep adapter is implemented. Echo CAS remains the default. - **Refines:** [Retained reading storage and proof boundary](../adr/0020-retained-reading-storage-and-proof-boundary.md) - **Depends on:** [Durable external-action settlement](../adr/0026-durable-external-action-settlement.md) -- **Related:** [Keep authenticated reconstruction contract](https://github.com/flyingrobots/keep/blob/3bf7b9179db41e90620e6d1875c2d40222a2330b/docs/architecture/authenticated-reconstruction-contract.md) +- **Related:** [Keep authenticated reconstruction contract](https://github.com/flyingrobots/keep/blob/3bf7b9179db41e90620e6d1875c2d40222a2330b/docs/invariants/authenticated-reconstruction/README.md) ## Decision