Skip to content

Commit 242d12b

Browse files
Kaspreclaude
andcommitted
fix(delivery): mark error=true when best-effort sends all error out
Codex review (post-rebase round 2, 2026-05-08) caught that `--deliver --best-effort --json` with all-payload onError failures returns `deliveryStatus: { attempted: true, succeeded: false }` with no error flag, indistinguishable from a zero-result/cancelled delivery. When `hadPartialFailure` is set (onError fired) AND zero payloads succeeded, propagate `error: true` to the status. Partial successes (at least one delivered) still report `succeeded: "partial"` without the error flag — the partial value itself signals errors occurred. Extends the existing best-effort-onError-zero-result test to assert the new error flag. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 5713c89 commit 242d12b

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

src/agents/command/delivery.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,10 @@ describe("normalizeAgentCommandReplyPayloads", () => {
266266
});
267267

268268
expect(delivered.deliveryStatus?.succeeded).toBe(false);
269+
// When best-effort delivery records onError(s) AND yields zero successful
270+
// results, distinguish the all-errored case from a plain zero-result/
271+
// cancelled delivery by setting error: true on the status.
272+
expect(delivered.deliveryStatus?.error).toBe(true);
269273
expect(runtime.error).toHaveBeenCalledWith(expect.stringContaining("send failed"));
270274
});
271275

src/agents/command/delivery.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,9 @@ export async function deliverAgentCommandResult(params: {
474474
requested: true as const,
475475
attempted: deliveryAttempted,
476476
succeeded: deliverySucceeded,
477-
...(deliveryThrewError || (preDeliveryError && !deliverySucceeded)
477+
...(deliveryThrewError ||
478+
(preDeliveryError && !deliverySucceeded) ||
479+
(hadPartialFailure && deliverySucceeded === false)
478480
? { error: true as const }
479481
: {}),
480482
};

0 commit comments

Comments
 (0)