Fix ClickClack toolsAllow reply dispatch#90405
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed June 4, 2026, 12:18 PM ET / 16:18 UTC. Summary PR surface: Source +48, Tests +205. Total +253 across 19 files. Reproducibility: unclear. The review failed before ClawSweeper could establish a reproduction path. Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Risk before merge
Maintainer options:
Next step before merge
Review detailsBest possible solution: Retry the Codex review after fixing the execution failure. Do we have a high-confidence way to reproduce the issue? Unclear. The review failed before ClawSweeper could establish a reproduction path. Is this the best way to solve the issue? Unclear. Retry the review first so ClawSweeper can evaluate the actual issue and fix direction. AGENTS.md: unclear because the file could not be read completely. Codex review notes: model gpt-5.5, reasoning high; reviewed against c0b3c8cdb9dc. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +48, Tests +205. Total +253 across 19 files. View PR surface stats
What I checked:
Likely related people:
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. How this review workflow works
|
|
Land-ready proof for #90405. Work done:
Commands/proof:
CI:
Known proof gaps:
|
Summary
toolsAllowinto inbound reply dispatch so account-level tool policy reaches agent/model reply paths.toolsAllowthrough shared auto-reply dispatch, provider dispatcher wrappers, embedded agent runs,reply_dispatchhook events, and ACP hook handoff.toolsAllowis present, because ACPX 0.10.0 only supportsallowed_toolsas session options and cannot guarantee per-turn enforcement on reused persistent sessions.Builds on and supersedes the direct ClickClack fix in #89500.
Verification
run_6a0472ed7e71, provideraws, idcbx_dace25addcaa.CLACK_OK, inbound thread model reply containingCLACK_OK, outbound DM send, and inbound DM model reply containingCLACK_OK.#general, direct messages, bot DM, bot/human messages, and composer visible.node scripts/run-vitest.mjs run src/auto-reply/reply/dispatch-acp.test.ts src/plugin-sdk/acp-runtime.test.ts src/auto-reply/reply/dispatch-from-config.reply-dispatch.test.ts src/auto-reply/dispatch.test.ts src/auto-reply/reply/agent-runner-execution.test.ts src/auto-reply/reply/provider-dispatcher.test.ts extensions/clickclack/src/inbound.test.ts --reporter=verbosenode scripts/crabbox-wrapper.mjs run --provider aws --target linux -- env OPENCLAW_CHECK_CHANGED_REMOTE_CHILD=1 OPENCLAW_CHANGED_LANES_RAW_SYNC=1 corepack pnpm check:changed, runrun_d32af37fb265, provideraws, idcbx_8236876017c9..agents/skills/autoreview/scripts/autoreview --mode branch --base origin/mainclean, no accepted/actionable findings.Notes
../codex; no ACP runtime protocol/source path there exposestoolsAllow.node_modules/acpx/dist/runtime.d.tsandnode_modules/acpx/dist/session-options-*.d.ts; ACPX turn input has no per-turn allowlist, whileallowed_toolsis a session option.