feat: implement atomic versioned storage contract - #34
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Every commit clones the complete and continually growing state map while holding the exclusive lock.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds an atomic, version-aware storage contract and shared in-memory backend.
Changes:
- Introduces compare-and-swap validation and explicit conflict errors.
- Preserves tombstone revisions and prevents partial commits.
- Tests lifecycle, stale writes, concurrency, and overflow.
File summaries
| File | Description |
|---|---|
crates/chekov-storage/src/lib.rs |
Implements the contract, backend, and tests. |
crates/chekov-storage/Cargo.toml |
Defines the new crate. |
Cargo.lock |
Registers the new package. |
Review details
- Files reviewed: 2/3 changed files
- Comments generated: 1
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
Summary
chekov-storageversioned storage contract and memory backend.Validation
cargo test --lockedcargo clippy -p chekov-core -p chekov-storage --all-targets -- -D warningscargo fmt --all -- --checkResolves CHE-4