feat(pi-kit): non-blocking lanes with status/wait/abandon tools#45
Merged
Conversation
… lanes_abandon lanes_spawn now returns immediately; lanes run in the background and survive ESC/turn cancellation. lanes_status answers questions about the run or a single lane mid-flight, lanes_wait blocks for final results (abort detaches without stopping lanes), lanes_abandon is the only way to stop lanes. On settlement an idle session gets a one-shot nudge to collect results.
Lanes survive ESC/turn cancellation by design, but must not outlive their owning session: on shutdown any active run is abandoned and the settle nudge is suppressed. Matches the shutdown pattern already used by the delegation and journal extensions.
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.
What
Makes
lanes_spawnasynchronous: the tool returns immediately with the run id, lanes execute in the background, and the main session stays free to keep talking with the user while lanes work.New tools
lanes_status [lane]— live per-lane state, activity, tokens, cost; withlanegives a detailed single-lane view (answers "what is the auth lane doing?" mid-run)lanes_wait— blocks for final results; aborting the wait detaches it without stopping laneslanes_abandon [lane]— the only way to stop lanesBehavior changes
lanes_spawnwhile a run is active errors with guidanceValidation
tsc --noEmitclean