Skip to content

[Bug]: Isolated cron completion announcer drops explicit delivery.channel on final controller return #92460

Description

@CHE10X

Summary

Isolated cron completion delivery can still fail with Channel is required (no configured channels detected) even when the cron job explicitly sets delivery.mode: "announce" and delivery.channel: "webchat", if the return is emitted through the isolated-cron completion announcer path rather than the direct sessions_send controller-return path.

This is not a generic "explicit delivery.channel ignored at job planning time" report.

The target isolated run completes successfully, produces a valid final ---A2A_RETURN--- envelope, and the cron job itself carries explicit announce settings. The failure is in completion-origin propagation at final delivery time.

Why this is distinct from the older closed issue

Issue #60921 was closed as not reproducible on current main, with the rationale that explicit isolated cron delivery channels are preserved in the delivery-planning branch.

Our June 11 evidence shows a narrower seam:

  • the cron job explicitly carries delivery.mode: "announce"
  • the cron job explicitly carries delivery.channel: "webchat"
  • the isolated target session boots and completes
  • the final terminal envelope is valid
  • the repaired sessions_send controller-return branch is present
  • but the isolated-cron completion announcer still fails with:
Channel is required (no configured channels detected).

So the failure appears to be after planning, in how the isolated-cron completion path materializes the final outbound origin/channel for announce delivery.

Environment

  • OpenClaw version: observed on live June 11, 2026 install
  • Surface/channel: webchat
  • Session target: isolated
  • Delivery mode: announce
  • Delivery channel: explicit webchat
  • Target run type: A2A-style isolated async callback using terminal ---A2A_RETURN---

Reproduction Shape

  1. Create or run an isolated cron job with:
{
  "sessionTarget": "isolated",
  "delivery": {
    "mode": "announce",
    "channel": "webchat"
  }
}
  1. Have the isolated target run produce a valid terminal completion envelope.
  2. Ensure the return is surfaced through the isolated-cron completion delivery path, not only the sessions_send direct controller-return branch.
  3. Observe that:
    • the target run completes successfully
    • the terminal envelope exists
    • final announce delivery still fails with Channel is required

Expected Behavior

If the cron job explicitly carries delivery.channel, the isolated completion announcer should deliver the completion using that explicit channel or an equivalent resolved completion origin.

The final callback should reach the controller/requester session.

Actual Behavior

  • isolated target run completes successfully
  • valid final envelope exists
  • cron job finishes error
  • completion delivery fails with:
Channel is required (no configured channels detected).
Run openclaw channels add to configure one, or pass --channel <channel> after enabling a channel.
Use openclaw channels list --all to see available channel ids.
Set delivery.channel explicitly or use a main session with a previous channel.

Evidence

First blocked proof

A2A-20260611-hendrik-005

  • Cron job id: 170c387d-a9a7-45d3-ba4f-944f48a5755e
  • Run id: manual:170c387d-a9a7-45d3-ba4f-944f48a5755e:1781142380676:1
  • delivery.mode: announce
  • delivery.channel: webchat
  • isolated target agent booted as finn
  • target produced valid envelope and proof file
  • announce delivery back to controller did not land

Artifact:

  • /Users/acme/.openclaw/workspace/archer/working/A2A_T3_SUPERVISED_ISOLATED_CRON_RETURN_PATH_PROOF_ARTIFACT_2026-06-11.md

Reproof after direct controller-return repair

A2A-20260611-hendrik-006

  • Confirmed the direct sessions_send controller-return repair is present in the installed runtime
  • Kept the acceptance contract unchanged
  • Isolated target again completed successfully
  • Terminal envelope again existed
  • Final delivery still failed with the same Channel is required error

Artifact:

  • /Users/acme/.openclaw/workspace/archer/working/A2A_T3_ANNOUNCE_CHANNEL_REPAIR_REPROOF_ARTIFACT_2026-06-11.md

Likely Fault Boundary

Based on the live evidence, this looks like:

  • not a target-run failure
  • not a missing-envelope failure
  • not a missing explicit cron delivery.channel
  • not the already-repaired sessions_send controller-return branch

It appears to be an isolated-cron completion-origin propagation defect in the final completion announcer path.

Suggested Debug Direction

Compare the origin/channel materialization between:

  1. the repaired sessions_send controller-return branch
  2. the isolated-cron harness completion announcer path

Specifically verify that explicit cron delivery.channel survives all the way to the final outbound delivery target resolution used by the completion announcer.

Operator Impact

  • async isolated callbacks can be silently lost even when the target work completed
  • controller/caller correlation fails
  • cron run is marked error
  • operators cannot trust isolated-cron completion delivery for controller-return workflows

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority user-facing bug, regression, or broken workflow.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions