Repository navigation
Integration batch 2026-09-26 A: #1326, #1333, #1337 - #1345
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…1282) The reload walked a snapshot and re-checked nothing while it killed and respawned each agent: an agent closed meanwhile came back under a new id, one replaced meanwhile got two successors on one transcript, and a draft typed meanwhile was lost. It now skips an agent that is no longer the same owned agent before its kill, re-checks every successor at commit (killing the orphans, caller reload.orphaned-successor), and carries the live draft, draft images and unread marker. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ait (#1326 review) Round-1 findings: overlapping on/off reloads, project merge mid-reload, close during an awaited orphan kill, rejected orphan kill, failed respawn of a closed agent, and two surviving mutations. Checks and commit are one synchronous run; orphans are killed after it; successors file from the live row. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…round 2) An early successor ran unfiled while later spawns were pending, so a close missed it; a close during the pre-spawn kill was still followed by a spawn; a failed orphan kill was swallowed; and a fresh respawn's durable provider id was dropped. Each agent now commits on its own, ownership is rechecked after every await, orphan kills retry and are retried by the next reload, and the reported provider id is kept. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reload's per-agent loop keeps #1324's curated failure sentence: the spawn catch computes it and markRespawnFailed carries it onto the failed pane. Adds the combined fail-and-close integration case. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-id shell respawn The shell's view reference was a manager flag cleared when the shell exited, so a still-mounted leaf froze on the dead shell after a same-id respawn. It is now a view-scoped count with a detachTerminal release, owned per renderer page like agent PTY attaches (one shared ownership table), and TerminalLeaf detaches on unmount. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…keep refused kills (#1326 verify) A remembered orphan was never retried once every agent was closed, and a kill main refused (false: possibly still running) cleared its record. An all-failed reload also stopped pruning unowned rows. Orphans are retried first, only a confirmed kill clears them, and pruning happens up front. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
) Refs #1314 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…anager once Round-1 review of #1333: the absent-session reference had no test, and a cold per-test import of the manager hit the default timeout under load. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nt and a file store The case asserted exactly one delivery in 120 s while its own traffic carried a second, legitimate turn boundary (the pair at 60 s ends the turn the 45 s delivery started). Whether that second continuation fell inside the window depended on how long the first delivery's real persist() took relative to fake time: slow disk passed, prompt disk failed. An instant store reproduced it 3/3. The case now checks that traffic during the hold does not renew the grace: nothing at 44.999 s, exactly one delivery at 45 s. It runs with the file store and an instant store, so persistence latency cannot decide it. No production change; no timeout widened. Fixes #1314 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…phans locally (#1326 verify2) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review of #1337: the first-hold case asserted at 46 s, so a 46 s grace or a <= gate passed; and removing the second-turn check left the post-delivery boundary unpinned (deleting releaseHold before delivery prompted at 60 s with every test green). The first case now asserts at 45.000 s; a new instant-store case pins the delivered turn's own grace (one delivery through 104.999 s, two at 105 s). The older 'Resume right after our own delivery' case uses the instant store too, since the file store's in-flight persist hid a missing markOwedATurn from it. Refs #1314 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Juliusolsson05
added a commit
that referenced
this pull request
Sep 27, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Juliusolsson05
marked this pull request as ready for review
September 27, 2026 02:45
Juliusolsson05
added a commit
that referenced
this pull request
Sep 27, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.
Integration batch (owner-approved merge mode, plan §7.4): one CI run on the exact batch head, then
gh pr merge --merge. Each member PR is marked merged because its reviewed head is in this branch.9a8e0444cb76010cdd61a14aBuilt from current main
b3a2c481with--no-ffmerges. All three merged cleanly.npx tsc -band the focused suites are run locally; this PR's CI is the gate.Not included (held): #1328 (owner residual pending), #1325/#1331 (verification), #1340 (q61), workflow-mcp#63 (owner decision), #1330 (owner retention window).
🤖 Generated with Claude Code