Skip to content

[Bug] Codex-native parents are not woken when independent child sessions complete #8281

Description

@felho

Description

A codex-native parent that delegates to an independent, declared Omnigent child through sys_session_send is not automatically woken when the child completes. The result reaches the parent's inbox, but the orchestrator remains idle until another message arrives. The same workflow progresses with a Claude-native parent.

These children are separate Omnigent-managed CLI sessions, not Codex internal sub-agent threads or /side forks.

Steps to reproduce

  1. Run a bundle with a codex-native parent and a declared asynchronous child agent.
  2. Have the parent dispatch the child with sys_session_send, then end its turn awaiting the completion notification.
  3. Let the child finish.
  4. Observe that the child's result is in the parent inbox, but no completion wake message is posted to the parent.

The guard in omnigent/runner/app.py::_schedule_subagent_wake returns whenever the parent harness is codex-native, regardless of whether the child is an internal Codex thread or an independent worker. This guard was introduced with #7215; its breadth was already noted in that review.

Controlled runner tests reproduce the missing wake through normal dispatch, session-snapshot reconstruction, and restart recovery. They also show why simply deleting the parent-harness check is insufficient: the latter two recovery paths currently lose the child's existing omnigent.wrapper marker, which distinguishes Codex-owned threads that should remain quiet.

Expected behavior

Independent Omnigent workers wake their parent regardless of the parent's harness. Codex-owned internal threads and /side chats continue to suppress Omnigent inbox wakes. Duplicate completion reports do not produce duplicate notifications.

Environment

  • Omnigent: 0.16.0.dev0; observed on 394fa67b8, reproduced in controlled tests against ed0f29cb6.
  • Codex CLI: 0.156.1, native harness, existing local subscription authentication.
  • Platform: macOS, local server and host.
  • Scope: independent child orchestration under a Codex-native parent. No production data involved.

A focused fix and regression tests are prepared; no new transport or polling mechanism is needed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

BugSomething isn't workingP2-mediumPriority: bug with workaround, important feature requestcomp:harness-t1Highest-usage harnessescomp:runnerComponent: agent runner, execution enginetriagedIssue has been triaged by the botvalidated:reproducedRepro agent validated the issue can be reproduced

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions