Files
alkstore/alkstore-mem
..
mem engine integration — the suite's third column lands, born pinned: StoreFactory implemented for the mem engine (alkstore-mem/tests/contract_suite.rs — a fresh MemStore::new() per open, teardown = drop, unit-struct factory with no external backing) and all 25 rows wired under the current-thread flavor (every test explicitly flavor = "current_thread" — the no-spawn_blocking posture proven by the flavor the column runs under, grep re-verified clean): the 24 engine-shared mechanism rows + mem's new PayloadTooLarge non-occurrence arm row (payload_too_large_never_produced_on_mem — properties.rs, stamped ADR-016 §5 + ADR-024 §3, just-past-2-MiB payload, exported from the suite lib; the SQLite/pg rows untouched — a suite-side class-4 addition, recorded in the task Notes). Column green first run (13 s), zero red rows — no mem defects, no row wobbles, no class-1 escalation owed. Full-surface wiring + crate posture/wasm-identity docs verified as landed by the seam/foundations tasks — zero production code changed. engine-mem.md frontmatter: draft → implementation-complete (stable flip stays with the review gate). Task file: status completed, 6 acceptance boxes ticked, Notes (incl. the wasm on-target scope-out's named collapse condition: a wasm-bindgen-test adapter crate, deliberately not an OQ) + Summary filled. Verified: cargo build; workspace cargo test green (core 25, suite harness 3, mem 100 lib + 25 suite, sqlite 191 + 25, pg 124 + 25 + 9); clippy --all-targets -D warnings clean; cargo fmt --check clean; cargo check --target wasm32-unknown-unknown -p alkstore-mem clean
2026-10-10 12:40:26 +00:00

alkstore-mem

The mem engine of the alkstore family: the full core contract v1 implemented on guarded in-process state — every mechanism, every guarantee row — with zero configuration.

let store = alkstore_mem::MemStore::new();

Engine posture — honest-ephemeral. No durability, single-process, never fleet-valid: there is no cross-process story at all, loss on process exit is the documented posture, and the dependency on this crate is the ephemerality declaration. Each MemStore::new() yields a fully isolated instance sharing nothing; teardown is drop. The dependency on tokio is restricted to the wasm-supported subset (sync + time) — this crate compiles clean on wasm32-unknown-unknown, the family member that runs in the sandbox.

See the family README for the interface and the deployment matrix, and the mem engine spec for the architecture.