Skip to main content

Crate coven_foundation

Crate coven_foundation 

Source
Expand description

Foundation: the injectable primitives and value types every other Coven crate is allowed to name.

Nothing here knows about protocol state, storage providers, replication, or the host API — these are clocks, identifier sources, staged file writes, store directory layout, content hashes, changeset values, and configuration. The dependency direction of the workspace bottoms out here, so this crate has no Coven dependencies of its own.

Modules are public because the crates above address them by module path (coven_foundation::clock::Clock), the same paths they used when these modules lived inside coven. Items that stay inside this crate remain pub(crate) or narrower.

Modules§

atomic_file
Installing a local file’s complete contents so a crash leaves either the old bytes or the new ones, never a partial write.
blocking
Bounded-stack execution for CPU work reached through nested async protocol verification.
bounded_workers
Owned synchronous workers with bounded, cancellation-aware FIFO admission.
changeset
Row changes reported by synchronization operations.
clock
Wall-clock source, injected so consumers read “now” deterministically in tests.
code_envelope
Shared wire format for pasted coven codes: prefix + base64url(json).
config
Sync + storage configuration.
id_provider
Identifier source, injected so tests get a deterministic — but still unique — id sequence.
local_file
Private local-file machinery used by storage and store-directory capabilities.
object_hash
The 32-byte content address every stored object, commit, and blob fact is identified by: SHA-256 over exact bytes, rendered as lowercase hex.
stage_timing
Wall-clock timing for the named stages a run is made of.
store_dir