The correctness release (v0.3.0): every review finding reproduced, then closed - #21
Merged
Merged
Conversation
…d then closed An outside review of 0.2.1 found five defects under the guarantees; each was reproduced as a failing test first, then fixed: - a failed store read was reported as free: reads now fail closed with a store-read error (exit 2); sem acquire --wait refreshes per attempt - transactions contradicted themselves: every write compiles into one transition per ref (create, update from an expected old value, delete with an expected old value, verify) before git sees it - family membership was outside the conflict boundary: a child admission bumps a family generation on the parent's record and moves the parent's refs, so a stale release or sweep fails and re-plans; a batch child under a same-batch parent must share the holder; claim-time eviction of an expired parent terminates the family like release and sweep do - release by job name could release someone else's later acquisition: claim lines carry the record id, release --record and with release only that acquisition - a git diagnostic inside a refusal could break the JSON: escaping covers every control character; errors and usage are objects too Also, on James's instruction: JSON Lines everywhere, --text removed; a pause-before-commit gate for deterministic interleaving tests; lexical path normalisation; the harness refuses to run under the real HOME and gains a Docker target. README carries the contract as answers to the review's three questions. 272 checks. Closes #13.
|
Warning Review limit reachedNext included review available in 19 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (6)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #13. Merging tags
v0.3.0.Reproduced as failing tests first, then fixed: fail-open reads, self-contradicting transactions, family membership outside the conflict boundary, release by name instead of by acquisition, JSON broken by diagnostics. Plus: JSON Lines only (
--textremoved),recordon claims and slots withrelease --record, a test-only pause gate that forces the child-under-release interleaving, lexical path normalisation, a harness guard against the real HOME andmake test-docker. README's "The contract" section answers the review's three questions. 272 checks.