CultLib/packages/cultmesh-rs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 6bb41f39ea Give every cultcache-rs entry type one home store
Cut 5 (Rust). The four mirror loops in put, put_envelope, put_raw_envelope and
delete are deleted, and so is put_prepared_batch's route.len() != 1 branch.
resolve_route_index returns the single home store (the store that claims the
type, else the generic store) and replaces resolve_route_indices.

add_backing_store and add_generic_backing_store return Result and refuse a
second generic store or a type already claimed by another store, attaching
nothing when they refuse. Callers take the Result: the crate's tests, the
cultcache_interop example, cultnet-rs's tests and interop peer example, and
CultMeshNode::create_node in cultmesh-rs.

Tests: second_generic_store_is_rejected, type_claimed_twice_is_rejected;
type_specific_store_routes_before_generic_store stays, now attaching the routed
store before the generic one. No bytes change.

The store-composition contract's runtime table now records Rust, TypeScript
and Python as conforming to one home store per type, and the README routing
section drops its non-conformance note.

Version 0.1.0 -> 0.2.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 00:38:41 +02:00
..
src Give every cultcache-rs entry type one home store 2026-09-14 00:38:41 +02:00
tests Let a caller choose what the media channel does 2026-09-10 01:08:31 +02:00
Cargo.lock Give every cultcache-rs entry type one home store 2026-09-14 00:38:41 +02:00
Cargo.toml Publish the non-Rust packages and make the licensing uniform 2026-09-04 04:41:44 +02:00