Repository navigation
fix(channel): record who stopped a run, show it in the timeline, and tell the next run - #664
Merged
Merged
Conversation
…tell the next run Why: packages/channel/src/room.ts#const StopEntry | a person's Stop is a durable ace.stopped entry whose user message reaches the next run; stopped events go only to watchers that ask with stops, since older clients' reducers can't take an unknown event kind
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.
A person's Stop during a run now appends a durable
ace.stoppedentry naming them. Its user message tells the chat's next run that they stopped the previous one before it finished, so the agent no longer guesses why its run ended. The channel projects the entry as a newstoppedevent, sent only to watchers that ask withstops: truebecause older clients can't reduce an unknown event kind. The app's timeline then reads "Stopped by ." where it said "Stopped.", andace watchprints the same line. A Stop when nothing is running writes nothing.Part of #442. Still open there: a kill (
ace kill) and a worker restart aren't recorded or told to the agent; a partial tool call that never ran isn't labeled; a resumed run doesn't say it resumed; nothing names which in-flight action ended as unknown beyond the aborted tool result. Map: ^533, ^595.Smoke on an isolated source host (own home/config/keychain, port 4373, loopback) with a real model: asked for
sleep 60, ranace stopafter 15 s.ace watchreplayedStopped by iamnbutler@gmail.com.In headless Chromium the reply showed "Stopped by iamnbutler.". The next ask, "why did your previous run end?", got "It ended because you stopped the run whilesleep 60was still going…".ace stopon the idle chat said "Nothing was running" and added no second line.Built in Ace
No. Made from Claude Code (a fix-train worker), with headless Playwright for the smoke; see #5.