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:
1 parent
0547c17876
commit
327b952e4d
6 files changed
+502
-3
No files matched your search
+32
-3
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: suite-scaffold
|
||||
name: Conformance suite — home, convention, and invariant backlog
|
||||
status: pending
|
||||
status: completed
|
||||
depends_on: [scaffold-crate-features]
|
||||
scope: narrow
|
||||
risk: low
|
||||
@@ -66,8 +66,37 @@ identically here).
|
||||
|
||||
## Notes
|
||||
|
||||
> To be filled by implementation agent
|
||||
- The convention doc landed as `tests/conformance/README.md` (normative
|
||||
home) with the in-code anchors: `stamp.rs` (the `Contract stamp:`
|
||||
marker, alkstore ADR-017 §4.2 adapted), `factory.rs` (the
|
||||
`StoreFactory` shape + contract), `backlog.rs` (the backlog as an
|
||||
in-code registry with a traceability gate).
|
||||
- The skeleton's wave-2 binding point: `StoreFactory::Store` is an
|
||||
associated type placeholder for the `Store` facade type (which
|
||||
arrives in wave 2 — no public type exists to bind today). Wave 2's
|
||||
mem column binds it; a binding-revealed shape correction is wave
|
||||
2's to make and record in README + factory.rs, per the task text.
|
||||
- SKIP posture is pinned as convention text (README §SKIP posture +
|
||||
factory.rs docs) rather than typed machinery: the mechanism lands
|
||||
with the first column that needs it (postgres, wave 4). Mem/sqlite/
|
||||
local never skip.
|
||||
- The backlog table cites per-entry: restated invariant, planned row
|
||||
family, pinning texts (spec §/ADR §), first column/wave. INV-4's
|
||||
fleet form is recorded as its own engine-gated family (wave 6).
|
||||
- Harness self-checks (4 tests): backlog traceability (order mirrors
|
||||
store-api.md §Invariants 1–7, every field populated), stamp marker
|
||||
identity, and a probe factory proving the trait is implementable
|
||||
with async methods (the alkstore exemplar-against-mock posture,
|
||||
sized to the no-rows state). No engine-specific code; no
|
||||
dependencies added.
|
||||
|
||||
## Summary
|
||||
|
||||
> To be filled on completion
|
||||
`tests/conformance/` established: README.md (row naming, stamp
|
||||
format, one-owner rule, factory isolation + idempotent-teardown
|
||||
contract, SKIP posture, the seven-invariant backlog table traceable
|
||||
to store-api.md, mem-first column plan), plus the compile-able
|
||||
skeleton (factory trait, stamp module, backlog registry) with zero
|
||||
rows as expected. Verified: `cargo test` (33 total across lib + 3
|
||||
targets), `cargo clippy --all-targets -- -D warnings`, `cargo fmt
|
||||
--check` all green.
|
||||
Reference in new issue
Block a user