cultcache-rs: expose a store's schema catalog (versions) to consumers #167
Loading…
Reference in a new issue
No description provided.
Delete branch "rs-snapshot-schema-version"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cut cultlib-gaps:cut_spec:cut-cut-rs-snapshot-schema-version.r1.
Adds public read-only
SchemaCatalogEntry(schema_id, schema_name, schema_version, content_hash, compatible_schema_ids),SingleFileMessagePackBackingStore::pull_schema_catalog(shared lock, absent file or legacy array is an empty catalog) andresolve_schema_entry(own id first, else first entry listing it as compatible, as the decoder does). Decoder, encoder andCultCacheEnvelopeare unchanged.Tests (tests/schema_catalog.rs, consumer-side, public API only): Rust-written two-type store, compatible-listed id, owner-over-lister, legacy/absent, and the C#-written golden tests/vectors/key-identity/foreign-store.cc (existing; no dotnet run). Each hand-mutated red.
Note: the Rust writer publishes
<schema id>.v1for every type (no version attribute), so test 1 distinguishes types by their per-id version string rather than by differing numeric versions.🤖 Generated with Claude Code