fix: route targetless WebChat message sends#97801
Conversation
|
Thanks for the context here. I swept through the related work, and this is now duplicate or superseded. Close as superseded: this branch targets the right WebChat bug, but #97167 already owns the same fix at the message-tool construction boundary with stronger proof, while this diff can report a successful automatic send that the downstream WebChat projection path still drops. Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Canonical path: Use #97167 as the canonical landing path for the linked WebChat bug, then close this branch as superseded. So I’m closing this here and keeping the remaining discussion on #97167. Review detailsBest possible solution: Use #97167 as the canonical landing path for the linked WebChat bug, then close this branch as superseded. Do we have a high-confidence way to reproduce the issue? Yes, source inspection gives a high-confidence path: current main excludes WebChat from Is this the best way to solve the issue? No. This branch changes the downstream sink guard, but the safer and more complete solution is to default internal WebChat message tools to the existing Security review: Security review cleared: The diff only changes in-process outbound routing logic and a focused test; no dependency, workflow, credential, auth, package, or install surface changed. AGENTS.md: found and applied where relevant. What I checked:
Likely related people:
Codex review notes: model internal, reasoning high; reviewed against 1052652a7168. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 96ab1daee7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
ClawSweeper applied the proposed close for this PR.
|
Closes #96840
What Problem This Solves
Fixes an issue where targetless
message(action="send")calls from active WebChat runs could fail with "Action send requires a target" even though WebChat documents a current-run internal source-reply sink.Why This Change Was Made
The internal source-reply sink now accepts targetless sends from WebChat only when the run has explicit automatic source-reply delivery, the current source provider is WebChat, no external session route is encoded, and the call has no explicit target. The existing message-tool-only sink behavior remains unchanged, omitted delivery mode still rejects, and non-WebChat automatic source contexts still require a target.
User Impact
WebChat-visible tools.message replies can be projected into the active WebChat conversation without asking the model for a reusable outbound target. Normal automatic final replies stay automatic, and external channels do not inherit WebChat as a fallback route.
Evidence
node scripts/run-vitest.mjs src/infra/outbound/message-action-runner.send-validation.test.ts src/infra/outbound/message-action-runner.core-send.test.ts src/auto-reply/reply/source-reply-delivery-mode.test.ts -- --reporter=dot— 3 files passed, 67 tests passedpnpm exec oxfmt --check src/infra/outbound/internal-source-reply.ts src/infra/outbound/message-action-runner.send-validation.test.tsgit diff --check.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main --codex-bin .artifacts/codex-flex— clean, patch correct (0.84)