Skip to content

Commit cbe8648

Browse files
committed
fix(cron): keep deliberate delivery-target refusals as error status
The #94058 fix kept isolated turn status=ok when post-run delivery fails, but the broad `status === "error"` check also caught the #91613 keyless implicit last-target refusal, which is a deliberate delivery-target guard (errorKind "delivery-target") and must stay status=error. Exclude that errorKind so genuine delivery dispatch failures still become ok while target-guard refusals remain errors.
1 parent acdedfc commit cbe8648

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

src/cron/isolated-agent/run.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1323,8 +1323,12 @@ async function finalizeCronRun(params: {
13231323
// execution status made the outer scheduled run report `status=error`
13241324
// for a session that actually ended successfully (#94058). Delivery
13251325
// failure is recorded separately via `delivered`/`deliveryAttempted` and
1326-
// delivery diagnostics, which drive the decoupled run-log delivery status.
1327-
if (deliveryResult.result.status === "error" && !params.isAborted()) {
1326+
// delivery diagnostics, while deliberate target-guard refusals stay errors.
1327+
if (
1328+
deliveryResult.result.status === "error" &&
1329+
deliveryResult.result.errorKind !== "delivery-target" &&
1330+
!params.isAborted()
1331+
) {
13281332
return resolveRunOutcome({
13291333
delivered: resultWithDeliveryMeta.delivered ?? deliveryResult.delivered,
13301334
deliveryAttempted: resultWithDeliveryMeta.deliveryAttempted,

0 commit comments

Comments
 (0)