Repository navigation
Conversation
moetemp
force-pushed
the
moe/l2-tool-activities
branch
from
September 7, 2026 23:27
de37977 to
d2db32f
Compare
moetemp
force-pushed
the
moe/l3-detached-sessions
branch
from
September 7, 2026 23:27
9b0cc30 to
442ee26
Compare
moetemp
force-pushed
the
moe/l2-tool-activities
branch
from
September 14, 2026 18:11
d2db32f to
a5b5d00
Compare
moetemp
force-pushed
the
moe/l3-detached-sessions
branch
from
September 14, 2026 18:11
7a62ca2 to
b567cbf
Compare
moetemp
force-pushed
the
moe/l2-tool-activities
branch
from
September 14, 2026 22:34
a5b5d00 to
10af0ac
Compare
moetemp
force-pushed
the
moe/l3-detached-sessions
branch
from
September 14, 2026 22:34
b567cbf to
ada95ac
Compare
moetemp
force-pushed
the
moe/l2-tool-activities
branch
from
September 15, 2026 00:44
10af0ac to
039a3b1
Compare
moetemp
force-pushed
the
moe/l3-detached-sessions
branch
from
September 15, 2026 00:44
ada95ac to
c980eb6
Compare
moetemp
changed the base branch from
moe/l2-tool-activities
to
moe/deployment-profile
September 15, 2026 00:46
|
This PR doesn't fully meet our contributing guidelines and PR template. What needs to be fixed:
Please edit this PR description to address the above within 2 hours, or it will be automatically closed. If you believe this was flagged incorrectly, please let a maintainer know. |
3 of 6 tasks
`session start` hands over a prompt and returns, `session running` reads the running set off the executor, and `session watch` follows a turn from a machine that never had it. They are plain HTTP clients against any serve in the deployment. The turn now publishes its own durable ending, `session.next.turn.ended`, because a step ending is not a turn ending and a follower in another process has only the replayable stream to read.
moetemp
force-pushed
the
moe/deployment-profile
branch
from
September 15, 2026 01:01
cecf750 to
4b9e69b
Compare
moetemp
force-pushed
the
moe/l3-detached-sessions
branch
from
September 15, 2026 01:01
c980eb6 to
494742b
Compare
|
This pull request has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window. Feel free to open a new pull request that follows our guidelines. |
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.
This PR adds
session start,session runningandsession watch, so the detached lifecycle the durable executor already supports can be driven from a command line.A session is a workflow rather than a process, the running set comes from Temporal visibility, the store is shared, and a live tail re-reads. Put together, a session can outlive its client; nothing said so, and nothing on the command line could use it. The commands are thin HTTP clients against any serve in the deployment, because the serves are interchangeable, and they never talk to Temporal.
starthands a prompt over and returns the session id.runningreads the executor's own answer, so it survives a restart of whichever process answers.watchfollows a session from a machine that has never seen it and exits when the turn stops. The turn now publishes its own durable ending,session.next.turn.ended, because a step ending is not a turn ending (a steer or a queued prompt continues the same turn) and a follower in another process has only the replayable stream to read. A turn the user stopped or a provider error ended has no ordinary ending, so a slow poll of the running set is the backstop.scripts/detached-session-check.shproves it against real processes: a Temporal dev server, one standalone worker, two serve processes and one shared store. Serve A starts a turn and is killed with a tool still running; the turn finishes on the worker; serve B, which never saw the session, reports it running and replays the transcript; thenstart,runningandwatchwork from a cold client. The assertions were mutation-checked: giving serve B its own store makes exactly the cross-process ones fail.The schedule command, the container check, the worktree quarantine and the turn budget, which used to ride in this PR, are their own PRs in the stack now.