fix: prompt Codex to send visible channel replies#84397
Conversation
|
Codex review: needs maintainer review before merge. Workflow note: Future ClawSweeper reviews update this same comment in place. How this review workflow works
Summary Reproducibility: yes. with source and PR-body proof rather than a local live rerun: current main suppresses automatic delivery in PR rating What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. Real behavior proof Mantis proof suggestion Risk before merge
Maintainer options:
Next step before merge Security Review detailsBest possible solution: Land the prompt-contract tightening after maintainer acceptance of the message-delivery tradeoff, keeping the existing delivery architecture and defaults intact. Do we have a high-confidence way to reproduce the issue? Yes, with source and PR-body proof rather than a local live rerun: current main suppresses automatic delivery in Is this the best way to solve the issue? Yes. The PR fixes the implicated prompt/tool contract across the Codex app-server, ACP, inbound context, chat context, and message-tool description without flipping delivery defaults or adding a channel-specific workaround. What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 5d799c2d2052. |
|
ClawSweeper PR egg ✨ Hatched: 🥚 common Brave Proofling Hatch commandComment Hatchability rules:
Rarity: 🥚 common. What is this egg doing here?
|
* fix: prompt codex to send visible channel replies * chore: add codex reply changelog entry * test: refresh codex prompt snapshots
…4397)" (openclaw#84442) This reverts commit 47eb4ca.
* fix: prompt codex to send visible channel replies * chore: add codex reply changelog entry * test: refresh codex prompt snapshots
…4397)" (openclaw#84442) This reverts commit 47eb4ca.
* fix: prompt codex to send visible channel replies * chore: add codex reply changelog entry * test: refresh codex prompt snapshots
…4397)" (openclaw#84442) This reverts commit 47eb4ca.
* fix: prompt codex to send visible channel replies * chore: add codex reply changelog entry * test: refresh codex prompt snapshots
…4397)" (openclaw#84442) This reverts commit e21e7dd.
* fix: prompt codex to send visible channel replies * chore: add codex reply changelog entry * test: refresh codex prompt snapshots
…4397)" (openclaw#84442) This reverts commit 47eb4ca.
* fix: prompt codex to send visible channel replies * chore: add codex reply changelog entry * test: refresh codex prompt snapshots
…4397)" (openclaw#84442) This reverts commit 47eb4ca.
* fix: prompt codex to send visible channel replies * chore: add codex reply changelog entry * test: refresh codex prompt snapshots
…4397)" (openclaw#84442) This reverts commit 47eb4ca.
* fix: prompt codex to send visible channel replies * chore: add codex reply changelog entry * test: refresh codex prompt snapshots
…4397)" (openclaw#84442) This reverts commit 47eb4ca.
* fix: prompt codex to send visible channel replies * chore: add codex reply changelog entry * test: refresh codex prompt snapshots
…4397)" (openclaw#84442) This reverts commit 31c0bb1.
* fix: prompt codex to send visible channel replies * chore: add codex reply changelog entry * test: refresh codex prompt snapshots
…4397)" (openclaw#84442) This reverts commit 47eb4ca.
* fix: prompt codex to send visible channel replies * chore: add codex reply changelog entry * test: refresh codex prompt snapshots
…4397)" (openclaw#84442) This reverts commit ff79a51.
Summary
message(action="send").messagetool send before the turn ends.Motivation
message(action="send"); the fix keeps the existing delivery architecture and makes that requirement explicit at the prompt/tool boundary.Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
Real behavior proof
sourceReplyDeliveryMode=message_tool_onlynow instruct Codex to send visible output throughmessage(action="send")instead of relying on private final text.cbx_c3d13b859625, Telegram direct inbound,openai-codexprovider,gpt-5.5model.run_a3d9d6e4da7f; markeroc84129-direct-84129-20260520T014618Z-3037; trajectory contained onetool.callformessagewithaction="send"; gateway log showed Telegram inbound processing followed by outbound send ok with message id269.message(action="send"), Telegram outbound delivery succeeded, and the run completed normally.message.Root Cause
message(action="send")for visible channel output was too weak or inconsistent for Codex app-server direct-reply turns.Regression Test Plan
extensions/codex/src/app-server/run-attempt.test.ts,src/auto-reply/reply/*.test.ts,src/agents/tools/message-tool.test.ts,src/gateway/tool-resolution.test.ts, andtest/scripts/prompt-snapshots.test.ts.message(action="send")before ending the turn, while quiet turns should avoid sending.User-visible / Behavior Changes
Codex-backed message-tool-only channel replies should more reliably appear in the source channel when a visible response is needed.
Diagram (if applicable)
Security Impact (required)
Yes, explain risk + mitigation: N/ARepro + Verification
Environment
node scripts/run-vitest.mjs.gpt-5.5viaopenai-codex.Steps
message(action="send")and outbound Telegram delivery.Expected
messagetool before ending the turn.Actual
message(action="send"), Telegram outbound send succeeded, and the run completed normally.Evidence
Focused local verification after rebasing onto current
origin/main:Result: 10 test files passed, 416 tests passed.
Autoreview:
AUTOREVIEW_AUTO_TESTS=0 .agents/skills/autoreview/scripts/autoreview --mode localResult:
autoreview clean: no accepted/actionable findings reported.Human Verification (required)
message(action="send").Review Conversations
Compatibility / Migration
Risks and Mitigations
message(action="send").