Fix/tmux isalive agent exited 2802#2831
Open
ApexYash11 wants to merge 2 commits into
Open
Conversation
… IsAlive Set @ao_agent_exited pane option before entering the keep-alive shell in buildLaunchCommand, then query it in IsAlive after has-session succeeds. When the option is "1" the agent has exited even though the pane and session survive, so IsAlive returns false (dead). Any read error (option unset, transient failure) falls back to true (alive) - backward-compatible. Fixes AgentWrapper#2802
…ator into fix/tmux-isalive-agent-exited-2802
Collaborator
|
Thanks for contributing to Agent Orchestrator. This PR is being picked up by the current external contributor on-call pair: If someone is already working on this, please continue as usual. For faster context or live questions, you can also join the AO Discord. Join the session here: Come by if you want to see what is being built, ask questions, or just hang around with the community. |
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.
Summary
Fixes #2802 by ensuring
tmux.IsAlive()correctly detects when an agent has exited, even if the tmux pane remains open.Previously, liveness checks only verified that the tmux session existed. Since the keep-alive shell leaves the pane running after the agent exits, completed agents were incorrectly reported as still alive.
With this change, the runtime sets a pane-scoped
@ao_agent_exitedoption when the agent exits.IsAlive()now checks this marker afterhas-sessionand reports the correct agent state while remaining backward compatible if the option is unavailable.Implementation
show-optionscommand for@ao_agent_exited.@ao_agent_exited=1before starting the keep-alive shell.IsAlive()to check the exit marker afterhas-session.Testing
Added and updated tests covering:
show-optionscommand generation.IsAlive()reports exited agents correctly.show-optionsfails.Verified with:
go test ./internal/adapters/runtime/tmux/...go vet ./...