Repository navigation
merge queue: checking #811 on main (41a11e8) - #855
Closed
mergify[bot] wants to merge 10 commits into
Closed
mergify[bot] wants to merge 10 commits into
mergify[bot] wants to merge 10 commits into
Conversation
Introduce a standalone Option-A ownership module with O_EXCL create, nonce-checked release, and fail-closed stale/malformed refusal before core/server wiring. Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: second process is refused while ownership is held Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: same-process second acquire with a different nonce is refused Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: stale heartbeat does not release ownership Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: malformed owner record fails closed Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: release with foreign nonce keeps the record Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: owner record is created exclusively with mode 0600 Co-authored-by: Cursor <cursoragent@cursor.com>
Overlapping release with the same nonce no longer deletes a successor's owner record: release is single-flight per nonce and unlinks only after a verified tombstone rename. Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: overlapping release cannot unlink a successor record Co-authored-by: Cursor <cursoragent@cursor.com>
…IP_IO Acquire and release normalize open/read/rename/unlink failures to a fixed OwnershipError code without attaching the raw cause or any path fragment. Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: filesystem failures use fixed diagnostics without paths Co-authored-by: Cursor <cursoragent@cursor.com>
…ilure When wx create succeeds but the initial write/flush fails, the creator unlinks its own incomplete record and returns a fixed OWNERSHIP_IO error. Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: failed write after create removes the half-written record Co-authored-by: Cursor <cursoragent@cursor.com>
…n close Register child cleanup immediately after spawn, join with a deadline on every path, and make the contender fixture exit non-zero if stdin closes without an explicit release. Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: fixture exits non-zero when stdin closes without release Co-authored-by: Cursor <cursoragent@cursor.com>
Pins the missing-record release path to OWNERSHIP_RELEASE_MISMATCH with path-free diagnostics (GLM F1). Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: release of a missing record is a fixed mismatch Co-authored-by: Cursor <cursoragent@cursor.com>
Unique per-release tombstones and exclusive link restore prevent a stale cross-instance release from overwriting a live successor (R811-O5). Test-First: tools/denkraum/store/ownership.test.mjs::DRSEC: cross-instance stale release never overwrites a live owner Co-authored-by: Cursor <cursoragent@cursor.com>
No-Test: documentation of the accepted API precondition and an honest test name (Elias E6b) Co-authored-by: Cursor <cursoragent@cursor.com>
No-Test: documentation of the accepted API precondition and an honest test name (Elias E6b) Co-authored-by: Cursor <cursoragent@cursor.com>
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.
🎉 This pull request has been checked successfully and will be merged soon. 🎉
#811 is queued for merge on branch main (41a11e8).
This pull request has been created by Mergify to check the mergeability of #811.
You don't need to do anything. Mergify will close this pull request automatically when it is complete.
Required conditions of queue rule
defaultfor merge:check-success = gates (linux)check-success = gates (windows)check-success = red-firstgithub-review-approved[🛡 GitHub repository ruleset rulemain-pr-required-checks]label != do-not-mergePaket-PR bringt seinen Bericht mit]:body ~= (?m)^## Reportmain-pr-required-checks]:check-success = @github-actions/gates (linux)check-neutral = @github-actions/gates (linux)check-skipped = @github-actions/gates (linux)main-pr-required-checks]:check-success = @github-actions/gates (windows)check-neutral = @github-actions/gates (windows)check-skipped = @github-actions/gates (windows)main-pr-required-checks]:check-success = @github-actions/red-firstcheck-neutral = @github-actions/red-firstcheck-skipped = @github-actions/red-firstmain-pr-required-checks]:check-neutral = @mergify/Mergify Merge Protectionscheck-skipped = @mergify/Mergify Merge Protectionscheck-success = @mergify/Mergify Merge ProtectionsRequired conditions to stay in the queue:
-conflict-draftbase = maincheck-success = gates (linux)check-success = gates (windows)check-success = red-firstgithub-review-approved[🛡 GitHub repository ruleset rulemain-pr-required-checks]label != do-not-mergelabel = review-okPaket-PR bringt seinen Bericht mit]:body ~= (?m)^## Reportmain-pr-required-checks]:check-success = @github-actions/gates (linux)check-neutral = @github-actions/gates (linux)check-skipped = @github-actions/gates (linux)main-pr-required-checks]:check-success = @github-actions/gates (windows)check-neutral = @github-actions/gates (windows)check-skipped = @github-actions/gates (windows)main-pr-required-checks]:check-success = @github-actions/red-firstcheck-neutral = @github-actions/red-firstcheck-skipped = @github-actions/red-firstmain-pr-required-checks]:check-success = @mergify/Mergify Merge Protectionscheck-neutral = @mergify/Mergify Merge Protectionscheck-skipped = @mergify/Mergify Merge Protections