fix(omo): keep silent subagents alive#106
Closed
YLongger wants to merge 1 commit into
Closed
Conversation
Contributor
|
Thanks for the PR! Changes to LazyCodex land through oh-my-openagent — could you open this against omo-codex over there instead? PRs in this repository can't be merged. If you're working with a coding agent, prompt it like this:
|
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 a Codex/OMO subagent liveness policy contradiction that could cause long-running child agents to be treated as stale when
wait_agentsimply returned no new mailbox update.Problem
The
ultrawork/ulw-loopCodex directives already describemulti_agent_v1.wait_agenttimeouts as mailbox-only signals: a timeout means no new child message arrived, not that the child stopped working.Later in the same directive, the subagent transition barrier contradicted that by instructing the parent to:
TASK STILL ACTIVEafter two silent waitsThat matches the observed failure mode: a child agent can be doing a long read/test/review pass, but the parent sees silent waits and interrupts or replaces it even though it is still running.
Fix
wait_agentresult triggerTASK STILL ACTIVE,close_agent, or respawn.BLOCKED:ulw-loop's bundled ultrawork directive synchronized withultrawork.Verification
Passing targeted checks:
Broader test notes from this Windows temp clone:
Summary by cubic
Prevents long-running subagents from being closed or respawned due to silent
wait_agenttimeouts. Updatesultraworkandulw-loopdirectives and adds a regression test to keep silent subagents alive.multi_agent_v1.wait_agenttimeouts as non-transitions; do not triggerTASK STILL ACTIVE,close_agent, or respawn on silence.BLOCKED:, or stops running.ulw-loopin sync withultrawork.Written for commit 91f72d3. Summary will update on new commits.