feat(crate): scaffold the ADR-013 §4 feature graph and module skeleton
- Declare the decided feature graph in the manifest: sqlite default-on (rusqlite 0.40 bundled), postgres (tokio-postgres 0.7 + deadpool-postgres 0.14), mem (dependency-free), pg-lo pulling the shared pg driver cluster only (no postgres implication, ADR-010 §1), ops (alkcall 0.8.1, default-off); local ungated - Replace the placeholder crate body with the module skeleton: lib.rs re-export shape, ungated stubs (hashing, error, backend, facade, dispatch, gc, local), engine stubs behind #[cfg(feature)] (mem, pg_lo, postgres, sqlite, ops); stubs are doc-comment-only so wave-1 tasks own the module bodies Verification: cargo test green (default); cargo check --all-features resolves the full graph; cargo check --no-default-features --features pg-lo resolves with rusqlite provably absent (tree-inverted match) — the ADR-010 §1 no-implication rule; clippy --all-targets -D warnings and cargo fmt --check clean. Task: tasks/scaffold-crate-features.md (wave 1)
This commit is contained in:
1 parent
8a2df4fa57
commit
24d1c68343
15 files changed
+102
-5
No files matched your search
@@ -0,0 +1,3 @@
|
||||
//! The Backend trait contract (ADR-003): opaque byte keys and byte-valued
|
||||
//! entries, complete `list()`, and the read-cursor / staged-put I/O seams
|
||||
//! (ADR-010) with the crate-internal engine-state companion seam.
|
||||
@@ -0,0 +1,2 @@
|
||||
//! Size-threshold dispatch between the kv and large tiers (ADR-003):
|
||||
//! routing as a pure function of content length.
|
||||
@@ -0,0 +1,3 @@
|
||||
//! The error family (ADR-012 §6.5): one enum with members at two
|
||||
//! altitudes — the trait's effective members plus the facade's
|
||||
//! GC-refusal and key-validation variants.
|
||||
@@ -0,0 +1,2 @@
|
||||
//! The store facade value types: `EntryMeta`, `Pin`/`Batch`,
|
||||
//! `SweepReport`, `GcAbortCause`, and `PinState`.
|
||||
@@ -0,0 +1,2 @@
|
||||
//! GC and namespace mechanism (ADR-005/012): registered liveness,
|
||||
//! pin-before-publish, delete windows, and sweep outcomes as data.
|
||||
@@ -0,0 +1,3 @@
|
||||
//! Hashing & keys (ADR-002): `Digest`/`Key` types, the canonical
|
||||
//! git-blob-sha-256 derivation, tolerated `git-blob-sha-1`, and the
|
||||
//! algorithm-tagged byte encoding.
|
||||
+22
-1
@@ -1 +1,22 @@
|
||||
pub fn placeholder() {}
|
||||
pub mod backend;
|
||||
pub mod dispatch;
|
||||
pub mod error;
|
||||
pub mod facade;
|
||||
pub mod gc;
|
||||
pub mod hashing;
|
||||
pub mod local;
|
||||
|
||||
#[cfg(feature = "mem")]
|
||||
pub mod mem;
|
||||
|
||||
#[cfg(feature = "pg-lo")]
|
||||
pub mod pg_lo;
|
||||
|
||||
#[cfg(feature = "ops")]
|
||||
pub mod ops;
|
||||
|
||||
#[cfg(feature = "postgres")]
|
||||
pub mod postgres;
|
||||
|
||||
#[cfg(feature = "sqlite")]
|
||||
pub mod sqlite;
|
||||
@@ -0,0 +1,3 @@
|
||||
//! The `local` large-tier engine (ADR-003/008): flat
|
||||
//! `{hex-prefix}/{hex-prefix}/{hash}` sharding, stage-then-commit-rename
|
||||
//! staged puts, and pread-based read cursors.
|
||||
@@ -0,0 +1,2 @@
|
||||
//! The `mem` kv-tier engine (ADR-011 §2): a `BTreeMap`-shaped ephemeral
|
||||
//! implementation — the contract-reference engine.
|
||||
@@ -0,0 +1,2 @@
|
||||
//! The ops surface (ADR-001): alkcall-backed network operations behind
|
||||
//! the `ops` feature gate.
|
||||
@@ -0,0 +1,2 @@
|
||||
//! The `pg-lo` large-tier engine (ADR-009): postgres Large Objects
|
||||
//! storage with descriptorless `lo_get` read windows over companion rows.
|
||||
@@ -0,0 +1,2 @@
|
||||
//! The `postgres` kv-tier engine (ADR-007): content-addressed rows over
|
||||
//! a pooled postgres connection, fleet-valid.
|
||||
@@ -0,0 +1,2 @@
|
||||
//! The `sqlite` kv-tier engine (ADR-003): WAL + `synchronous=NORMAL`
|
||||
//! durability, prepared statements, bounded reads.
|
||||
Reference in new issue
Block a user