feat(tests): the conformance suite's home — conventions, invariant backlog, harness skeleton (wave 1)

- tests/conformance/README.md: the convention doc — row naming (property-
  stated names, engine dimension is the column), the Contract stamp:
  format (the alkstore ADR-017 §4.2 convention adapted), the one-
  normative-owner-per-property rule, the factory contract (fresh
  isolated instance per open, idempotent teardown, safe over an
  abandoned instance), the SKIP posture (SQL-attached columns skip
  cleanly server-less; acceptance requires green against the server),
  the invariant backlog (the seven store-api.md §Invariants registered
  as the rows-to-grow table with pinning citations), and the mem-first
  column plan (mem is the contract-reference engine, ADR-011 §2)
- harness skeleton, compile-able with zero rows: StoreFactory (fresh
  + isolated + idempotent-teardown contract; the Store associated type
  is wave 2's binding point for the facade type), stamp.rs (the
  marker + convention anchor), backlog.rs (in-code registry with a
  traceability gate asserting INV-1..7 mirror §Invariants in order)
- no engine-specific code; no dependencies added

Verification: cargo test (33 passed across lib + 3 targets),
cargo clippy --all-targets -- -D warnings, cargo fmt --check
This commit is contained in:
glm-5.3-flash committed 2026-10-11 18:44:04 +00:00
1 parent 0547c17876
commit 327b952e4d
6 files changed
+502 -3

No files matched your search

+24
View File
@@ -0,0 +1,24 @@
//! The contract-stamp convention (the alkstore ADR-017 §4.2 version-
//! stamping convention adapted — README §Contract stamps is the
//! normative statement).
//!
//! Every conformance row is version-stamped with a doc-comment list
//! item beginning **`Contract stamp:`** citing the store-api.md § /
//! ADR § that pins the behavior tested. The marker is greppable:
//!
//! ```text
//! grep -rn "Contract stamp:" tests/conformance/
//! ```
//!
//! is the suite's stamp inventory. Rules (README §Contract stamps):
//! cite the pinning spec §/ADR §, never a bare wave or date; stamps
//! accumulate on amendment; multi-stamp rows are allowed.
//!
//! Version 0 of the suite: this module *is* the convention's in-code
//! anchor; the first real rows (wave 2's mem column) cite their stamps
//! against it.
#![allow(dead_code)]
/// The doc-comment marker introducing a row's version stamp.
pub const STAMP_MARKER: &str = "Contract stamp:";