Repository navigation
Conversation
…ll run A parent agent can end its turn while children it spawned are still working. Today that Stop chimes, fires a native notification, and flips the terminal green — the product says "done" while the task is still going (ParadevAI#6929). ParadevAI#7231 gave the host a live subagent roster and made sure child events never drive parent status; the residual it named is this one. Gate the parent's Stop on that roster: when children are still live the store holds the Stop, the terminal keeps its working state, and nothing fans out. The last child's exit releases the held Stop as a single completion. Permission requests are untouched — needing input while children run is still attention. A parent event that arrives before the roster drains (the user replied) supersedes the held Stop, so it never double-fires. A terminal that dies under a held Stop drops it. A child whose stop hook never arrives would otherwise hold the completion forever, so the release check prunes the roster first: the existing stale window bounds the delay. `terminalAgents.listByWorkspace` runs the same check, which is where the sidebar's poll picks it up. Claude-Session: https://claude.ai/code/session_01Pc1qgTpz2j8nW6BET2CqCW
…gle in Claude fires the parent's `Task` PostToolUse — carrying the child's `agent_id` — after that child's own SubagentStop. The roster treated any non-stop event as liveness and put the child back, so a terminal's roster never drained. That was harmless before the parent's completion started waiting on it. Now it means a held Stop is never released: in a native fan-out all three children were revived that way and SessionEnd dropped the held Stop 0.2s later, so the turn announced nothing at all. Losing the completion is worse than announcing it early. Keep a stopped child stopped, and let a harness opt back in. Codex does: `send_input` genuinely resumes a finished child, so a post-stop event there is the child working again rather than a straggler. The straggler's transcript path is still merged, so the subagent pane keeps what it revealed. Claude-Session: https://claude.ai/code/session_01Pc1qgTpz2j8nW6BET2CqCW
…ackground-children
Operators must not treat the Needs review board column as shipped without a tip-native proof artifact pinned to the branch-tip SHA.
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Contributor
Author
|
Superseded: head was based on fork main (included unpublished host-service commits vs upstream). Thin replacement cut from upstream/main. |
This was referenced Sep 8, 2026
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 & why
Adds one docs page:
docs/proof-gate-needs-review-receipt.md.Needs review on the board is not shipped. Tip-native proof (check runs or a receipt pinned to the exact branch-tip SHA) is required first. Without that bar, Operators treat chrome as done and the product keeps lying about finished work.
How I tested
main(single file)Checklist
Supersedes contaminated draft #7296 (same docs intent; #7296 head accidentally included terminal-agents files).
Summary by cubic
Stops a parent terminal from announcing completion while its subagents are still running, and adds a docs rule that Needs review on the board is not shipped without tip-native proof.
Bug Fixes
send_input).Docs
docs/proof-gate-needs-review-receipt.md: Needs review means not shipped without a check run or receipt pinned to the branch-tip SHA.Written for commit 0c964b6. Summary will update on new commits.