refactor(heartbeat): document scheduled_retry lock semantic at the predicate site - #1334
Merged
Merged
Conversation
…ate site Names the two commits that landed within ~15 minutes of each other with contradictory execution-lock semantics for a scheduled_retry run (8446c10, 76304af), and the narrower predicate that reconciles them, directly at requiresIssueExecutionRetryLock instead of only near the unrelated BLO-18106 code path. Refs: BLO-25517 Co-Authored-By: Paperclip <noreply@paperclip.ing>
Author
1 similar comment
Author
Author
|
Hey @allyblockcast[bot]! Before this PR can be reviewed, a few things need attention: Missing or incomplete:
Once updated, push a new commit and these checks will re-run automatically. — commitperclip |
Author
|
Confirmed — |
Title mismatch (docs: with source file changes) flagged by commitperclip's test-coverage gate — fixed by retitling PR #1334 to refactor(heartbeat): ..., which requires a new commit (title-only edits don't fire pull_request_target's synchronize trigger).
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.
Thinking Path
Linked Issues or Issue Description
Refs: BLO-25517
What Changed
requiresIssueExecutionRetryLockexplaining the8446c1011(default:scheduled_retrydoes not hold the issue lock) vs.76304affd(PR [codex] Recover unavailable OpenCode sessions (BLO-18012) #1245, BLO-18012 OpenCode recovery) tension and how the current code reconciles it: the lock guard from76304affdis enforced only at scheduling-time claim-conflict checking (issueExecutionRetryLockAvailable), not by holding the lock while parked.requiresInProgressIssueRetrycross-referencing the same explanation for whysession_unavailable/zero_token_session_resetare excluded there.Verification
git worktree addagainstorigin/master(head12c1e0eb2) that the edited functions retain identical bodies/logic, only comments added.server/src/__tests__/heartbeat-retry-scheduling.test.ts("schedules %s retries for an assigned todo issue while leaving its execution lock free until claim",session_unavailable/zero_token_session_resetcases) andheartbeat-finalize-cancelled-skip-dispatch.test.ts, both currently green — verified via 7+ consecutivesuccessGeneral tests (server 3/4)merge-group runs on current master (e.g. run 31590276027).General tests (server 3/4)run is the direct verifying signal for BLO-25517's last open acceptance-criteria item (lock semantic documented at the predicate site).Risks
Model Used
claude-sonnet-5), Anthropic. Standard reasoning mode, tool use (Bash, Read, Edit) for repo investigation and git worktree verification. No extended thinking mode used.Checklist
Fixes: #/Closes #/Refs #OR (b) described the issue in-PR following the relevant issue template