Repository navigation
fix(sdk): skip work cancelled before it starts - #1733
Conversation
|
Local SDK validation for
Both runs failed only in the same eleven authentication cases, each matching the control's Git-root lookup error. These eleven failures also reproduce on the unchanged base in the managed worktree; all eleven pass with 46 assertions when only the working directory changes to a clean directory. The failures arise from an invalid enclosing Git directory on this test host. Focused target tests passed (37 passed, 2 platform-specific skips), and SDK types and formatting checks passed. Hosted CI passed on the same commit. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
alandelong-oai
left a comment
There was a problem hiding this comment.
Thanks for tightening cancellation at the shared callback boundary. The runtime change looks sound in this merge-safety and simplification review of bccbd0c25c30c1b6ea2b5a477a33783650e637a1: the built public API skips a queued repository read after cancellation, while the base still starts it; ordinary ordering and already-started settlement remain intact.
One testing issue needs correction: the new boolean cases share a JUnit name and make the scheduled test-quality inventory checker fail. Changing the title placeholder from %s to %p resolves it.
Validated 12 cancellation cases and 44 validation/deduplication caller cases on pinned Bun 1.3.14, a built Node smoke, SDK/plugin builds, types and formatting. The broader targets suite has two local enclosing-Git-marker failures; matching-head required CI is green. The duplicate-name failure was independently reproduced with the inventory checker and Bun 1.4.2.
alandelong-oai
left a comment
There was a problem hiding this comment.
Thanks for fixing queued cancellation and the duplicate test names. This owner-level merge-safety and simplification review of d83be71fbecf005a3ee1119baf2600aebbdbf73a found no remaining issues. The shared check skips canceled callbacks while preserving ordinary ordering and already-started settlement.
Fresh validation passed: 12 cancellation cases, 75 record-runner cases, 2 hosted-preparation cases, JUnit inventory comparison, a built Node API smoke with an exact-base control, SDK/plugin builds, types and formatting. Broader local target/hosted tests encounter fixture ownership and enclosing-Git-marker restrictions also reproduced on the base; no full-suite pass is claimed.
…/codex/pr-refresh-1733
…/codex/pr1733-main-fe9-refresh
Summary
Skip cancellable work when its signal is aborted before the scheduled callback starts. This prevents cancelled scans from starting target preparation or model work.
Changes
Testing
Merged
mainatfe9d77e1c3d9into2f332bf3ce96. This refresh changes only the two Docker base-image references to the Node 26.12.1 tag and digest already merged into main; all other tracked files are identical to6096a09e3578.git diff --checkpassed. Container builds and runtime suites were not rerun for this refresh; fresh hosted CI is required.Earlier Linux checks at
6096a09e3578passed:build:ci, SDK/MCP types, full SDK formatting, andgit diff --check.Those earlier checks used Node 22.23.3 and Bun 1.3.14. Dependency lockfiles and unchanged plugin sources were matched before reusing dependency installations and private copies of existing bundled/native artifacts. Native binaries were not rebuilt. Full SDK and cross-platform suites were not rerun; fresh hosted CI must qualify this head.
Earlier cancellation results remain historical. The recorded seeded SDK run was incomplete after eleven authentication assertions encountered an invalid enclosing Git marker; that record did not establish a corrected-environment rerun or a default-order full-suite pass.
Risk and rollout
No public API or configuration changes. Operations cancelled before admission now stop before their callback runs; operations already running keep the existing cancellation behavior.
Public disclosure review