-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
ACP/Codex child tasks can be marked succeeded with progress-only output and no final deliverable #83863
Copy link
Copy link
Closed
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Priority
None yet
Summary
ACP/Codex child sessions can terminate with only interim/progress text (for example "I'll inspect...", "I'm checking...", "I'm verifying now...") and OpenClaw records the durable task as
succeeded/outcome.status=okeven though no final deliverable was captured and the completion announcement later fails.This makes the parent agent correctly distrust the child ("Codex returned only progress, not delivery"), but the task ledger and UI still present the child run as successful. Operationally this looks like Codex/OpenClaw silently succeeded while no PR/diff/final report was delivered.
Evidence Pattern
Observed on a real background ACP workflow. Operational identifiers and deployment details are intentionally redacted.
The affected child sessions had transcripts shaped like:
The durable task state then showed rows equivalent to:
A completion retry path also logged retry exhaustion with
completion agent did not deliver through the message tool, but the top-level task status still stayedsucceeded.Expected
For child sessions that explicitly expect a completion message/final deliverable:
blocked/failed/needs final deliverable, not plainsucceeded;Actual
status=succeededusing interimprogressSummary.frozenResultTexteven when it is progress-only.deliveryStatus=failed, but top-levelstatus=succeededremains, so UI and task ledger look successful.Local Operational Mitigation
A temporary installed-build mitigation was applied on the affected deployment to classify likely progress-only ACP/subagent summaries as a blocked terminal outcome instead of a clean success. This is an operational mitigation only; upstream should replace it with a structured completion contract.
Validation used syntax checks on the modified runtime files plus a gateway restart and health/channel checks. Deployment-specific paths, session ids, channel ids, and host details are intentionally omitted.
Suggested Durable Fix
expectsCompletionMessage=true, require either an explicit final answer, final tool result, or completion artifact before marking the task as successful.deliveryStatus, so UI cannot display success while completion delivery failed.succeeded.Related
This is distinct from issue #83836 (
invalid_encrypted_contentreplay failure). Both affect completion reliability, but this issue is specifically the progress-only / false-success completion contract.