docs(review): the wave-2 review gate — every gate check green
Read the wave-2 implementation against the pinned ADR text line by line (ADR-003/005/006/010/011/012/013 §2, store-api.md): the three numbered unknown-length rules each test-backed, the delete-window ordering invariants (arbitrate-at-delete-time, pin-before-publish on both put paths and both tiers, raced conversion ordering, delete-then-recover), abort-as-data with all three causes, dispatch purity + fall-through + constructor modes + kv-only's two put-time rejection points, stage-hygiene exact counts on both engines (incl. the Drop-cancellation story), both suite columns green/ADR-stamped/ traceable with the factory binding recorded, the dispatch-coverage shape exercised, all eight named design points recorded and consistent, and the staged-put key-at-commit amendment audited accepted. No wave-3 amendments arise. Inline fixes applied by the gate: - facade.rs: stale Batch::add dead-code allow + stale task-pointer comment removed (put_in_batch's call sites landed) - dispatch.rs: module-level allow(dead_code) removed (route/Tier now driven; clippy clean without it), scope note updated - backend.rs: the allow kept but its scope note corrected to what is actually dead (trait name, kv put until wave 3) - mem.rs: stale constructor doc line updated to the landed state - tasks/gc-protocol.md: stray placeholder lines removed Verification: cargo test (42 lib + 2 conformance + 3 git-interop), cargo test --features mem and --all-features (97 lib + 37 conformance + 4 git-interop), clippy --all-targets and --all-features --all-targets (-D warnings), fmt --check — all green post-fix. Wave 3 decomposition unblocked.
This commit is contained in:
1 parent
45c456989f
commit
79cf1f0220
6 files changed
+195
-25
No files matched your search
+4
-3
@@ -30,9 +30,10 @@
|
||||
//! (ADR-002/006). GC state never rides this trait either (ADR-010 §2) —
|
||||
//! the crate-internal engine-state companion seam lives in [`crate::gc`].
|
||||
//!
|
||||
//! The `#![allow(dead_code)]` below marks the seam's scope: these items are
|
||||
//! the wave-1 contract surface, defined ahead of their drivers (the store
|
||||
//! core and engines of waves 2–5). It shrinks as those waves land.
|
||||
//! The `#![allow(dead_code)]` below still has real scope: `Backend`
|
||||
//! trait items with no in-tree caller yet (reporting names, the kv
|
||||
//! engines' whole-value `put` before wave 3) plus the wave-1 seam
|
||||
//! tests' doubles. It shrinks as the waves land.
|
||||
|
||||
#![allow(dead_code)]
|
||||
|
||||
|
||||
+1
-6
@@ -20,15 +20,10 @@
|
||||
//! mode machinery, not here: this module routes lengths, it does not
|
||||
//! own modes.
|
||||
//!
|
||||
//! The `#![allow(dead_code)]` below marks the seam's scope: `route` is
|
||||
//! driven by the facade's write-side tier selection (`Store::tier_for`),
|
||||
//! whose own caller is the put seam (store-put-paths); the allow shrinks
|
||||
//! as those land. Read-side ops do not consult `route` — the
|
||||
//! Read-side ops do not consult `route` — the
|
||||
//! fall-through consult order is the facade's (kv first, then large;
|
||||
//! ADR-012 §6.1).
|
||||
|
||||
#![allow(dead_code)]
|
||||
|
||||
/// The default dispatch threshold in bytes: 128 KiB — the conservative
|
||||
/// edge of the measured ~128–256 KiB crossover zone (ADR-003; POC #3
|
||||
/// finding A4's first-party benchmark). Constructor-tunable per
|
||||
|
||||
@@ -231,7 +231,6 @@ impl Batch {
|
||||
/// Contribute a put's pin to the group (store-core call). The
|
||||
/// contributed guard is defused — its own drop releases nothing;
|
||||
/// the batch's one-step release owns the protection from here.
|
||||
#[allow(dead_code)] // the batching put seam wires the call sites (store-put-paths); exercised by the tests
|
||||
pub(crate) fn add(&mut self, pin: Pin) {
|
||||
let mut pin = pin;
|
||||
pin.armed = false;
|
||||
|
||||
+2
-3
@@ -35,9 +35,8 @@ use crate::Error;
|
||||
///
|
||||
/// Clone shares the map, so a cloned [`Backend`] handle and every
|
||||
/// [`MemStaging`] issued from either see the same table — the shape
|
||||
/// `put_staged`'s out-of-band commit requires. Clone is the constructor
|
||||
/// until dispatch names the engine (ADR-013 §4's feature graph; the
|
||||
/// store's `mem` construction lands with its wave's dispatch task).
|
||||
/// `put_staged`'s out-of-band commit requires. The facade's `mem`
|
||||
/// constructors construct it with `Default`.
|
||||
#[derive(Clone, Default)]
|
||||
pub(crate) struct MemBackend {
|
||||
rows: Arc<Mutex<BTreeMap<Vec<u8>, Vec<u8>>>>,
|
||||
|
||||
Reference in new issue
Block a user