fix(discord): deliver reasoning payloads when /reasoning on is active#95014
fix(discord): deliver reasoning payloads when /reasoning on is active#950141052326311 wants to merge 2 commits into
Conversation
Sweeper 🦞 openclaw#94936: Discord's message handler suppressed reasoning block and final payloads at two points (beforeDiscordPayloadDelivery and deliverDiscordPayload). The shared agent subscriber already emits isReasoning block replies when reasoningMode === on, but Discord immediately dropped them. Remove both suppression guards. Update tests: - "suppresses reasoning payload" → "delivers reasoning payload" - "suppresses reasoning-tagged final" → "delivers reasoning-tagged final" All 107 Discord process tests pass.
|
Codex review: needs real behavior proof before merge. Reviewed June 19, 2026, 12:19 PM ET / 16:19 UTC. Summary PR surface: Source +5, Tests +3. Total +8 across 3 files. Reproducibility: yes. Source inspection shows Review metrics: 2 noteworthy metrics.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Mantis proof suggestion Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Land one canonical Discord fix that formats Do we have a high-confidence way to reproduce the issue? Yes. Source inspection shows Is this the best way to solve the issue? No. Removing the suppression is necessary but not the best complete fix because the PR also bundles unrelated skills work and does not format Discord reasoning as the documented Thinking message. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against ffd8c6e5d9ab. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +5, Tests +3. Total +8 across 3 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
|
…able Sweeper 🦞 openclaw#94956: the CLI skills subcommands (list, check, info) used a local-only status build that did not account for remote macOS node capabilities. Even after the parser fix (openclaw#71877) for system.which object-map payloads, CLI status reports still showed darwin+bins(memo) as missing on Linux gateways with connected macOS nodes. Now loadSkillsStatusReport tries the Gateway skills.status RPC (which already builds with getRemoteSkillEligibility) when config.gateway.remote.url is set, falling back to local-only buildWorkspaceSkillStatus when the Gateway is unreachable. Test results: - skills-cli.commands: 52/52 pass - skills/runtime/remote: 12/12 pass - gateway skills.proposals: 10/10 pass
|
Closing: replaced by cleaner PR with only the Discord fix (no unrelated skills commit) and proper Thinking message formatting per sweeper P1 feedback. |
Closes #94936
Summary
Discord's message handler had two suppression points that dropped all
isReasoningblock and final replies. The shared agent subscriber already emitsisReasoningblock replies when/reasoning onis active, but Discord immediately suppressed them.Changes
isReasoningsuppression guards inmessage-handler.process.tsFixed: 2 files, +9/-30
extensions/discord/src/monitor/message-handler.process.tsextensions/discord/src/monitor/message-handler.process.test.tsVerification
deliverDiscordReplyinstead of being dropped