[codex] Queue subagent completion announces#76927
Conversation
|
Thanks for the context here. I swept through the related work, and this is now duplicate or superseded. Keep this PR open for maintainer review: the central queue-first completion announce change is not on current main or the latest release, but the PR is draft/conflicting, has a protected Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Canonical path: Close this stale PR. The latest review rated it F, the branch still lacks merge-ready proof, and there has been no human follow-up after the durable review. So I’m closing this here because the remaining work is already tracked in the canonical issue. Review detailsBest possible solution: Close this stale PR. The latest review rated it F, the branch still lacks merge-ready proof, and there has been no human follow-up after the durable review. Do we have a high-confidence way to reproduce the issue? Yes at source level: current main still dispatches completion handoffs through direct-primary before steer fallback, and the PR changes that ordering. I did not run a fresh live busy-requester transport repro in this read-only pass. Is this the best way to solve the issue? Unclear as the complete best fix: queue-first routing is a plausible scoped mitigation, but the durable spool, restart/orphan preservation, and task-ledger contract remains canonical in #67777. Security review: Security review cleared: The diff changes agent delivery logic, tests, docs, and changelog text; no dependency, workflow, package, credential, or supply-chain change was found. AGENTS.md: found and applied where relevant. What I checked:
Likely related people:
Codex review notes: model internal, reasoning high; reviewed against 010b61746379. |
d3fc201 to
f9eb7d9
Compare
|
Closing this stale draft per the latest review. The queued-completion direction was useful, but the canonical subagent completion path has since evolved and this branch no longer shares current history. Any remaining work should be recreated against current |
Summary
Root Cause
Completion-mode announces were direct-first and used synchronous
gateway agentcalls withexpectFinal, so a busy or stuck requester session could leave direct announce turns waiting behind active work and trigger repeated 120s timeout retries.Validation
pnpm test src/agents/subagent-announce-dispatch.test.ts src/agents/subagent-announce-delivery.test.ts src/agents/subagent-announce.format.e2e.test.ts src/agents/subagent-announce.timeout.test.ts src/agents/subagent-registry-lifecycle.test.tspnpm exec oxfmt --check --threads=1 src/agents/subagent-announce-dispatch.ts src/agents/subagent-announce-dispatch.test.ts src/agents/subagent-announce-delivery.ts src/agents/subagent-announce-delivery.test.ts src/agents/subagent-announce.format.e2e.test.ts src/agents/subagent-announce.timeout.test.ts src/agents/subagent-registry-lifecycle.test.tsgit diff --checkpnpm check:changed: https://github.com/openclaw/openclaw/actions/runs/25289933276