fix(goal): pause blocked autonomous continuation - #888
Open
paralin wants to merge 1 commit into
Open
Conversation
Expose pause and resume through the goal host bridge and Python skill so an agent can yield without completing its objective while external input is pending. Reuse the persisted paused state, clear queued goal contexts, and teach the continuation prompt to pause instead of emitting holding turns. Signed-off-by: Christian Stewart <christian@aperture.us>
zhengr
pushed a commit
to zhengr/prime-agent
that referenced
this pull request
Aug 8, 2026
…ntellect-ai#888) Autolinked emails like user@example.com were rendered as 'user@example.com (mailto:user@example.com)' because the comparison token.text === token.href failed (text lacks mailto: prefix). Now strips mailto: prefix before comparing, so autolinked emails display without redundant URL in parentheses.
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.
Active goals automatically continue after every normal assistant turn until the model marks them complete. When progress depends entirely on an external actor or event, the model currently has no way to yield, so it can spend repeated turns reporting the same blocker.
Expose
goal.pause(reason)andgoal.resume()through the existing goal host bridge and bundled Python skill. Pausing reuses the persisted paused state and clears queued goal contexts, while resuming reactivates the same goal after new input arrives.Teach the continuation prompt and skill guidance to pause instead of emitting unchanged holding updates. Active goals that are not paused retain the existing continue-until-complete behavior, and the change adds no new daemon protocol status.
Note
Pause blocked autonomous goal continuation via
goal.pause()andgoal.resume()goal.pause(reason)andgoal.resume()Python skill functions in goal/init.py that send requests over the kernel host bridge._pauseGoalFromHostand_resumeGoalFromHostmethods toAgentSessionin agent-session.ts; pausing is only allowed when the goal is active, resuming only when paused.goal.pause("waiting for …")when blocked on external input andgoal.resume()after new input arrives.MAX_THREAD_GOAL_PAUSE_REASON_CHARS).goal.resume()(without external queuing) also does not automatically enqueue a continuation.Macroscope summarized d170f8b.