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