Repository navigation
exec: v1.4 notify: callbacks route like any request, one notification per job - #401
Merged
Merged
Conversation
… per job, unheld state A replica without the session now answers a callback 503, as it answers any request for a session it does not hold, so the edge's retry and ring walk find the owner after a restart or a ring change; the edge no longer pins callbacks to the hashed target. A callback still never opens a session, and the token is still verified first. - A callback while a bash_job call has the job is answered 503, so the sandbox asks again once the call has recorded the end or put it back. - A job has one notification at a time; a change during an attempt gets its own attempt when that one ends, and an answer settles only what was owed when its attempt began. - The live reconcile a release starts begins after the stream is closed and never shares an earlier one. - A late-found end is recorded at the listed ended time, and with the listed status if the follow then fails; a bash_job peek reads in first. - v1.4's state is named "unheld", not to be confused with JobShared::released. - The edge must not log a callback's token (E7), decodes query keys as the replica does, and the exec runner's client keeps no idle connection past 30 s and no TCP keepalive. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JimHGjsfk2Ktm5GxyZJKKk
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.
Revises the v1.4 "Sandbox job notify" spec. As before, the spec, FLEET.md, ARCHITECTURE.md, the fixtures and the coverage test change together. Nothing is implemented yet.
Callbacks route like any request. A replica that doesn't have the session open now answers a callback
503, the same as for any request for a session it doesn't hold, instead of200 {"listener": false}.Other changes
bash_jobcall has the job: a callback is answered503, so the sandbox asks again once the call has recorded the end or put the job back.endedtime (finish_at), as reattach records it today.bash_jobon an unheld job: the call reads in what the sandbox holds first (read_in), then follows.JobShared::released.Persistence::transcript).switch_sessionto another transcript.exec_notify_vectorspasses 10/10. New receiver cases cover a job a call has, a proof during a call, and the503from a replica without the session.🤖 Generated with Claude Code
https://claude.ai/code/session_01JimHGjsfk2Ktm5GxyZJKKk