fix(telegram): deliver durable reasoning replies#95051
Conversation
|
Codex review: found issues before merge. Reviewed June 21, 2026, 5:39 PM ET / 21:39 UTC. Summary PR surface: Source +36, Tests +128. Total +164 across 4 files. Reproducibility: yes. Current main suppresses durable 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:
Mantis proof suggestion Risk before merge
Maintainer options:
Copy recommended automerge instructionNext step before merge
Security Review findings
Review detailsBest possible solution: Land the Telegram durable-reasoning fix only after Do we have a high-confidence way to reproduce the issue? Yes. Current main suppresses durable Is this the best way to solve the issue? No as written. The Telegram pass-through and marker stripping are the right narrow delivery shape, but reasoning payloads must bypass shared TTS before this is the best fix. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 108d6d7eca00. Label changesLabel justifications:
Evidence reviewedPR surface: Source +36, Tests +128. Total +164 across 4 files. View PR surface stats
Acceptance criteria:
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
|
|
Courtesy proof for #95051 — verified on a live OpenClaw 2026.6.9-beta.1 instance with this PR's branch deployed, model deepseek-v4-flash, ✅ Thinking now persists as a durable standalone message (it was dropped entirely before this PR). Turn 1 (plain reasoning) and Turn 2 (repeat-prompt) — both show the persisted ( One small observation for a possible follow-up: the durable |
|
Yo, Space minster... Human here... Super happy to see this direction, I had two PRs ready but you literally gazumped both of them overnight. Fixing two issues I filed, so that's amazing. And it reduces my commit-footprint hugely when I finally land that giga-PR. Just a teeny tiny suggestion, there was one variable in your PR that was hardcoded that I thought might be better type checked. That's all. My incoming stream is counting on you. you're our only hope. VK1 |
|
Opened #97875 as the narrower canonical upstream fix for the durable thinking-lane part of this PR. That PR keeps the shared dispatcher generic by adding I would route the Telegram durable reasoning fix through #97875 and retire or rebase this branch onto it if there is still extra Telegram-specific proof to preserve. |
|
Closing this as superseded by the narrower canonical fix that landed in #97875. #97875 merged as
Thanks for pushing this path forward; the smaller upstream boundary fix is now on |


Summary:
isReasoningpayloads through the shared reply dispatcher while keeping generic-channel suppression intactisReasoningmarker before durable send/reasoning onFixes #94937
Verification:
git diff --check origin/main...HEADpnpm dlx [email protected] --check --threads=1 src/auto-reply/reply/dispatch-from-config.ts src/auto-reply/reply/dispatch-from-config.test.ts extensions/telegram/src/bot-message-dispatch.ts extensions/telegram/src/bot-message-dispatch.test.tstbx_01kvges5ey90zzz1tcazgqxwtx, run https://github.com/openclaw/openclaw/actions/runs/27839833383:OPENCLAW_TESTBOX=1 corepack pnpm test:serial src/auto-reply/reply/dispatch-from-config.test.ts extensions/telegram/src/bot-message-dispatch.test.ts src/infra/outbound/payloads.test.tspassed 3 shards: outbound payloads 36 tests, auto-reply dispatch 212 tests, Telegram dispatch 130 tests.tbx_01kvgey69931q64p96ddcnt5z5, run https://github.com/openclaw/openclaw/actions/runs/27839945637, did not reach tests: Blacksmith SSH/rsync sync failed withNetwork is unreachablebefore command execution.