Repository navigation
Conversation
This was referenced Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Metadata catalog loading and read orchestration implemented separate stable ref-head capture and activation validation. Make metadata the shared owner, and remove 141 duplicate read-side lines. This is groundwork for eliminating the eager current-state catalog opener; that opener remains unchanged in this PR.
The shared capture keeps the bounded list/read/re-list loop, ETag binding, epoch filtering before activation reads, canonical ref-head key checks and committed-activation validation. It also applies the read-side rule to metadata: a head with no transaction must match the compacted root. Retired epochs remain ignored. Selected-ref read/push paths retain their targeted probes and expected-old checks while sharing the activation validator.
Evidence map
crates/crab-metadata/src/capsule_protocol/store.rs; two existing helpers become feature-gated shared APIs.crab-readview opens and metadata catalog loading; selected read/push capture reuses activation validation.Storeref-head listing, provider ETags,CapsuleRefHeadepoch/identity and boundedCapsuleTransactionRecorddecoding.ReadError::Metadataand CLI metadata conversion. No fallback or new wire format.Is this the best fix? One metadata-owned authority capture avoids a third copy when the current-state opener adopts authenticated pages. The remaining catalog/control ordering extraction and consumer qualification are explicit follow-ups.
Validation