At 12:30, one of my manager agents delegated required work to a child agent. Nothing came back.
Two hours later, another run of the manager reviewed that handoff and wrote:
That delegation appears to have produced nothing. Treated as a no-op.
It treated a missing child result as if there had been nothing to do, then continued. A later run finally marked the earlier item abandoned.
The normal path needs two explicit outcomes. In AgentUse, they are report_complete and report_incomplete. A child must choose one, so the parent does not have to interpret prose or silence.
Those tools cover only the first layer. The outcome still has to reach the parent. The runtime must catch a child that disappears. And the manager needs a rule that stops it when the expected result never arrives.
Issue 1: The Work Failed, but the Run Had No Honest Ending
“No-op” was the wrong verdict. The job did not produce an empty result after checking the task. It produced no result because the handoff failed.
Those are different outcomes.
A no-op means nothing needed doing. Incomplete means something needed doing and did not happen. Calling both of them no-op makes a broken loop look quiet and healthy.
Solution: require an explicit outcome.
report_complete means the objective was delivered. A check that found nothing to act on can still be complete, but the child must say what it checked. report_incomplete means required work was skipped, blocked, failed, or only partly delivered.
This run needed the second ending:
Incomplete: the delegated agent returned no result. Check the handoff before the next run.
The runtime asks again when an agent reaches the end without choosing complete or incomplete. It does not ask the agent to redo the work. It asks for the missing judgment: did you deliver what you were asked to deliver?
Issue 2: A Child Can Fail While the Parent Hears “Complete”
A child agent knowing it failed is not enough. The manager above it must receive the same answer.
This used to break inside the runtime. A child could stop without producing useful text, and the parent would receive:
completed without text response
That phrase hides two questions. Did the child finish the job? Or did it merely stop running? The parent received the same answer for both.
Solution: carry the outcome back to the parent.
When a child calls report_complete, the parent receives the result. When it calls report_incomplete, the parent receives the reason. The run history and notifications show the same outcome.
The manager should not have to study a paragraph and infer whether the child succeeded.
Issue 3: A Missing Agent Cannot Report Itself
The first two fixes depend on the agent reaching the point where it can explain what happened. Sometimes it disappears before then.
Asking the missing agent to report its own disappearance is like asking an empty chair why the employee did not arrive. The check has to come from somewhere else.
Solution: let the runtime detect abandoned work.
An outside monitor checks for runs left hanging after their worker disappears. It marks the work as interrupted and alerts the parent instead of leaving both waiting forever.
It does not repeat the work automatically. The missing agent may already have charged a card, sent a message, or published something before it vanished. A blind retry can turn one uncertain action into two real ones.
Issue 4: The Manager Does Not Check the Child’s Result
My manager had access to the right ending. It still chose no-op because its instructions did not say what it had to receive before continuing.
A monitoring child might check ten systems and find no incidents. It should call report_complete and say so. That is a valid no-op because the check happened. A writing child that returns no article and no explanation has not completed the handoff.
Solution: define the manager’s handoff rule.
The manager needs this rule in its definition of done:
Continue only after the child calls
report_completewith the required result or an explicit valid no-op. If it callsreport_incompleteor returns no declared result, stop and report the handoff as incomplete.
This is a minimum handoff check, not a full review of the child’s work. The manager confirms that the required result arrived and that the child declared an outcome. A separate review can judge whether the work is good.
The runtime can carry outcomes to the parent and detect abandoned work. It cannot decide what evidence each manager needs before its own job counts as done. That belongs in the manager’s instructions.
Pick one manager in your fleet and remove its child’s result in a test run. If the manager carries on, the issue is still there. If it stops and tells you exactly what is missing, the ending works.



