Repository navigation
fix(session): settle a dropped approval on the rebuilt agent without a new turn - #1576
Conversation
An interrupt or a worker's expiring ask drops a parked approval by rejecting it on the old agent, but the closing reactor discards that rejection once its abort is queued, and nothing is sent at all when the drop lands before the parked call resolves. The rebuilt agent then reloaded the call as still parked and answered it with "approval timed out" at the old deadline, starting a turn nobody asked for. Every rebuild that keeps the session rejects a dropped approval that is still parked on the new agent, until the store shows the call closed, and the director commits that result without a new turn. The model sees it with the operator's next message.
|
Triage: Pass No changes needed from you. A maintainer will review this pull request. Stacked on #1575: only this pull request's own changes were checked. |
TheGreatAxios
left a comment
There was a problem hiding this comment.
Review · Approve
Settles dropped approvals on a rebuilt agent without starting a new model turn.
No findings.
Reviewed ba3c091115d1c67be2376e65999a607caabd7db9 against this PR's declared #1575 base. Scoped architecture and permission lenses found no additional findings.
Verification: focused director, approval-resume, interrupt, exit, ask-wake, and reactor-reload suites: 278 passed. Temporary integration probes for an immediate operator send after settlement and interruption of a visible approval overlay each passed 10/10 runs; they were removed. bun run check: confirmed exit 0, 9,516 passed, 0 failed.
Summary
Verification
bun run checkpasses on each commit (9516 tests at the tip)Related to CL-11433