Skip to content

fix(discord): accumulate reasoning progress deltas#87339

Merged
steipete merged 3 commits into
openclaw:mainfrom
giodl73-repo:fix-83983-discord-reasoning-deltas
Jun 2, 2026
Merged

fix(discord): accumulate reasoning progress deltas#87339
steipete merged 3 commits into
openclaw:mainfrom
giodl73-repo:fix-83983-discord-reasoning-deltas

Conversation

@giodl73-repo

@giodl73-repo giodl73-repo commented May 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes #83983.

Discord progress-mode reasoning updates were formatting each reasoning callback with the display Thinking... wrapper before draft-preview merge logic saw it. Since the merge logic treats display-prefixed reasoning text as a full snapshot, Codex app-server delta chunks like "Considering", " plugin", " installation", "!" could replace each other until only the final tiny chunk remained visible.

This keeps reasoning stream payloads raw until pushReasoningProgress() merges delta/snapshot semantics, then applies the existing reasoning display formatter once for the stable progress line. Follow-ups keep raw reasoning text that starts with Thinking, Thinking:, Thinking..., a single Thinking line, or Reasoning: intact, while still stripping legacy newline-prefixed Reasoning:\n... and Thinking...\n\n_..._ display wrappers. Long reasoning progress lines are compacted before italic wrapping so Discord markdown remains balanced after truncation.

No config surface or plugin surface changes.

Proof

OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/discord/src/monitor/message-handler.process.test.ts --reporter=dot
# Test Files 1 passed (1)
# Tests 102 passed (102)

./node_modules/.bin/oxfmt --check extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts
# All matched files use the correct format.

./node_modules/.bin/oxlint --tsconfig config/tsconfig/oxlint.core.json extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts
# Found 0 warnings and 0 errors.

git diff --check origin/main...HEAD
# passed

git diff --check
# passed

/home/giodl/.local/toolchains/node-v22.22.3-linux-x64/bin/codex review --base origin/main
# No actionable regressions were identified.

Rebased onto current main (0c74f18a1c090746c390b749b6845988072a8f14). All 3 commits are signed. Signed head: d4d74b7d210890bb13f4e5f02ed4272d8ee48344.

@openclaw-barnacle openclaw-barnacle Bot added channel: discord Channel integration: discord size: S maintainer Maintainer-authored PR labels May 27, 2026
@clawsweeper

clawsweeper Bot commented May 27, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed May 31, 2026, 7:17 PM ET / 23:17 UTC.

Summary
The PR passes raw Discord reasoning stream payloads into progress-draft merging, formats the merged reasoning line once, and adds regressions for delta accumulation, raw prefixes, legacy wrappers, snapshots, and truncation.

PR surface: Source +51, Tests +312. Total +363 across 3 files.

Reproducibility: yes. The source path is clear from current main and the PR tests: formatted reasoning text reaches the Discord progress merge path before this patch, while simulated deltas reproduce the last-delta-only failure shape.

Review metrics: none identified.

Merge readiness
Overall: 🦞 diamond lobster
Proof: 🦞 diamond lobster
Patch quality: 🦞 diamond lobster
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Risk before merge

  • [P1] This changes visible Discord progress-draft reasoning rendering, so an incorrect merge could still drop, replace, or misformat progress lines for users using Discord progress mode.
  • [P1] Several adjacent open Discord/channel progress PRs touch nearby process and draft surfaces, so maintainers should choose merge order and validate the exact rebased result if another one lands first.

Maintainer options:

  1. Land After Discord Progress Ordering (recommended)
    Maintainers can land this focused head after deciding whether the adjacent Discord progress PRs should merge before or after it.
  2. Refresh If Another Progress PR Lands First
    If a related Discord progress PR lands first, require a fresh rebase plus the focused Discord reasoning-progress regression proof on the new merge result.

Next step before merge

  • [P2] The remaining action is maintainer merge-order/final-review judgment because the PR has a protected maintainer label and visible Discord message-delivery risk, not a narrow automated repair.

Security
Cleared: The diff only changes Discord progress rendering code and colocated tests; it does not alter dependencies, workflows, secrets handling, package resolution, or code-execution surfaces.

Review details

Best possible solution:

Land the raw-merge/post-format Discord draft-preview approach after a maintainer checks merge order against adjacent Discord progress PRs and keeps the linked bug open until this PR merges.

Do we have a high-confidence way to reproduce the issue?

Yes. The source path is clear from current main and the PR tests: formatted reasoning text reaches the Discord progress merge path before this patch, while simulated deltas reproduce the last-delta-only failure shape.

Is this the best way to solve the issue?

Yes. The best fix is to keep raw reasoning semantics until Discord's progress merger decides delta versus snapshot behavior, then apply display formatting once; this matches the sibling Slack shape without changing the shared callback or Codex protocol contract.

AGENTS.md: found and applied where relevant.

Codex review notes: model gpt-5.5, reasoning high; reviewed against cb9847968a1d.

Label changes

Label changes:

  • add rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦞 diamond lobster and patch quality is 🦞 diamond lobster.
  • remove rating: 🐚 platinum hermit: Current PR rating is rating: 🦞 diamond lobster, so this older rating label is no longer current.

Label justifications:

  • P2: This is a normal-priority Discord progress rendering bugfix with limited channel blast radius and focused regression coverage.
  • merge-risk: 🚨 message-delivery: The diff changes visible Discord progress-draft message content and adjacent progress PRs touch nearby delivery code, so green unit tests do not fully settle merge ordering risk.
  • rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦞 diamond lobster and patch quality is 🦞 diamond lobster.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): A redacted live Discord outbound draft/edit/fetch proof shows accumulated reasoning text after the fix, with current-head focused tests and checks refreshed in later comments.
  • proof: sufficient: Contributor real behavior proof is sufficient. A redacted live Discord outbound draft/edit/fetch proof shows accumulated reasoning text after the fix, with current-head focused tests and checks refreshed in later comments.
Evidence reviewed

PR surface:

Source +51, Tests +312. Total +363 across 3 files.

View PR surface stats
Area Files Added Removed Net
Source 2 64 13 +51
Tests 1 315 3 +312
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 3 379 16 +363

What I checked:

Likely related people:

  • shakkernerd: Blame on the current Discord draft-preview/process reasoning paths and Codex projector points to commit c21e16c as the current implementation snapshot. (role: recent area contributor; confidence: medium; commits: c21e16c73dfc; files: extensions/discord/src/monitor/message-handler.draft-preview.ts, extensions/discord/src/monitor/message-handler.process.ts, extensions/codex/src/app-server/event-projector.ts)
  • Takhoffman: Recent history on the Discord message-handler/test surface includes status reaction and test repair commits, making this a useful reviewer for channel-delivery interactions. (role: recent adjacent contributor; confidence: medium; commits: 30fc29c9b035, b20ae13c6b13; files: extensions/discord/src/monitor/message-handler.process.ts, extensions/discord/src/monitor/message-handler.process.test.ts)
  • scoootscooob: The Discord channel implementation was moved into extensions in commit 5682ec3, so this history is relevant for plugin-boundary and bundled Discord ownership questions. (role: feature mover / adjacent owner; confidence: medium; commits: 5682ec37fada; files: extensions/discord/src/monitor/message-handler.process.ts)
  • bryanpearson: The related merged Discord progress commentary work credited bryanpearson as source contributor, and this PR touches the same visible progress-draft behavior family. (role: adjacent feature contributor; confidence: medium; commits: 4df1fcf7b392; files: extensions/discord/src/monitor/message-handler.draft-preview.ts, extensions/discord/src/monitor/message-handler.process.ts)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal backlog priority with limited blast radius. labels May 27, 2026
@clawsweeper

clawsweeper Bot commented May 27, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper PR egg

🎁 Pass real behavior proof to wake the egg and unlock a hatchable treat.

Where did the egg go?
  • The egg game starts only after the PR passes the real-behavior proof check.
  • Before that, no creature or rarity is rolled. The treat waits for real proof.
  • This is still just collectible flavor: proof affects review readiness, not creature quality.

@giodl73-repo giodl73-repo force-pushed the fix-83983-discord-reasoning-deltas branch from 6086081 to c626d4d Compare May 27, 2026 21:20
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Refreshed #87339 onto current main; new signed head is c626d4d2466ff1cb8634e06efcd253d0de4a6874.

Focused WSL validation after the refresh:

  • node scripts/run-vitest.mjs extensions/discord/src/monitor/message-handler.process.test.ts extensions/codex/src/app-server/event-projector.test.ts src/agents/embedded-agent-utils.test.ts --reporter=dot -> 3 files, 194 tests passed
  • ./node_modules/.bin/oxfmt --check extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts
  • ./node_modules/.bin/oxlint --tsconfig config/tsconfig/oxlint.core.json extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts
  • git diff --check origin/main...HEAD
  • git diff --check

This refresh should replace the prior check-guards failure with current-head CI. Remaining ClawSweeper ask is redacted live Discord progress-mode proof. No merge performed.

@BingqingLyu

This comment was marked as spam.

@clawsweeper clawsweeper Bot added the merge-risk: 🚨 message-delivery 🚨 May drop, duplicate, misroute, suppress, or wrongly target messages. label May 29, 2026
@giodl73-repo giodl73-repo force-pushed the fix-83983-discord-reasoning-deltas branch from c626d4d to 444363d Compare May 29, 2026 06:43
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Added the missing live Discord progress-mode proof.

Branch/head under test: fix-83983-discord-reasoning-deltas at 444363d876074313ccc7a26c54dccbbc225b1074.

Validation:

OPENCLAW_PROOF_HEAD=444363d876074313ccc7a26c54dccbbc225b1074 \
node --import tsx /mnt/c/tmp/openclaw-discord-reasoning-proof.ts

The proof harness loads this PR's createDiscordDraftPreviewController, backs it with the real Discord RequestClient/draft stream, sends a progress draft to the QA Discord channel, feeds the same reasoning deltas from the regression test (Considering, plugin, installation, !), fetches the message back from Discord, and asserts the live message contains the accumulated line rather than the final delta.

Redacted live result:

{
  "status": "pass",
  "branchHead": "444363d876074313ccc7a26c54dccbbc225b1074",
  "channelIdSuffix": "181747",
  "messageId": "1510047965010591995",
  "marker": "OC87339-mprhxsb5",
  "expected": "_Considering plugin installation!_",
  "content": "Proof <marker>\n\n• _Considering plugin installation!_"
}

Targeted regression:

OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/discord/src/monitor/message-handler.process.test.ts

Test Files  1 passed (1)
Tests       85 passed (85)

Note: the full Discord QA lane requires separate driver and SUT bots. The local proof env currently has the single QA bot, so this proof intentionally exercises the real Discord outbound draft/edit/fetch transport path for the patched progress accumulator without printing or copying token values.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels May 29, 2026
@clawsweeper

clawsweeper Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

🦞👀
ClawSweeper picked this up.

Command router queued. I will update this comment with the next step.

@giodl73-repo giodl73-repo force-pushed the fix-83983-discord-reasoning-deltas branch from 444363d to 0cbf484 Compare May 30, 2026 00:51

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Refreshed #87339 onto current main; new signed head is 0cbf48465152087685c640e08099948a6ca26089.

Focused WSL validation after the refresh passed:

  • OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/discord/src/monitor/message-handler.process.test.ts extensions/codex/src/app-server/event-projector.test.ts src/agents/embedded-agent-utils.test.ts --reporter=dot -> 3 files, 204 tests passed
  • ./node_modules/.bin/oxfmt --check extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts
  • ./node_modules/.bin/oxlint --tsconfig config/tsconfig/oxlint.core.json extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts
  • git diff --check origin/main...HEAD
  • git diff --check

The refreshed diff is still limited to the same three Discord files, with no config surface or plugin surface changes. No merge performed.

@clawsweeper

clawsweeper Bot commented May 30, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

Copy link
Copy Markdown
Contributor Author

Addressed the review issue around raw reasoning text that starts with Thinking:

  • tightened the snapshot/header detector so bare raw Thinking text is not stripped or treated as a replacement snapshot
  • added regressions for both an initial raw Thinking chunk and a later chunk beginning with Thinking
  • reran focused Discord/Codex/embedded-agent tests, format/lint/diff checks, and Codex autoreview

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented May 30, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot removed the rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. label May 30, 2026

Copy link
Copy Markdown
Contributor Author

Updated #87339 for the latest ClawSweeper/Codex review findings and rebased onto current main.

New signed head: ef2c8c380f6d3dcec947cacbac20a72db1bd0ac8.

What changed:

  • narrowed the Discord reasoning snapshot/header detector so Thinking: and Thinking... raw content is preserved instead of stripped
  • further narrowed the formatted Thinking prefix detection to the actual display shape (Thinking + blank line + italic body), so a raw single Thinking line is also preserved
  • added regressions for raw Thinking:, raw Thinking..., and raw Thinking\n... progress content
  • kept the diff limited to Discord reasoning progress rendering/tests; no config surface or plugin surface changes

Fresh focused validation:

  • OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/discord/src/monitor/message-handler.process.test.ts --reporter=dot -> 1 file, 93 tests passed
  • ./node_modules/.bin/oxfmt --check extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts
  • ./node_modules/.bin/oxlint --tsconfig config/tsconfig/oxlint.core.json extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts
  • git diff --check origin/main...HEAD
  • git diff --check
  • Codex review on the final head found no actionable correctness issues

No merge performed.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@giodl73-repo giodl73-repo force-pushed the fix-83983-discord-reasoning-deltas branch 2 times, most recently from 5a22fc3 to 483db36 Compare May 31, 2026 03:28

Copy link
Copy Markdown
Contributor Author

Updated #87339 for the remaining ClawSweeper raw Reasoning: finding and rebased onto the latest main.

New signed head: 483db36b920e1634f518e3fc793b9d66c220db6c.

What changed:

  • narrowed Reasoning: display-prefix handling so raw Reasoning: ... progress text is preserved
  • kept formatted-prefix stripping only for actual legacy display blocks (Reasoning: followed by a newline and italic body, or the formatted Thinking block shape)
  • added regressions for an initial raw Reasoning: chunk and a later raw Reasoning: chunk after existing text
  • no config surface or plugin surface changes

Fresh focused validation:

  • OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/discord/src/monitor/message-handler.process.test.ts --reporter=dot -> 1 file, 95 tests passed
  • ./node_modules/.bin/oxfmt --check extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts
  • ./node_modules/.bin/oxlint --tsconfig config/tsconfig/oxlint.core.json extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts
  • git diff --check origin/main...HEAD
  • git diff --check
  • Codex review found no actionable regressions in the Discord progress-draft path

No merge performed.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels May 31, 2026
@giodl73-repo giodl73-repo force-pushed the fix-83983-discord-reasoning-deltas branch from 483db36 to 29dfb03 Compare May 31, 2026 14:53

Copy link
Copy Markdown
Contributor Author

Updated #87339 on current main and addressed the Codex-review wrapper finding.

New signed head: 29dfb031ea05b9ea9ba0378de717e2f7fb93151d.

What changed:

  • refreshed the branch onto d689893a6fa8a58d2cdd4bfd3d45cb0a5b997629
  • kept same-line raw Thinking, Thinking:, Thinking..., and Reasoning: progress content intact
  • restored stripping for legacy newline-prefixed reasoning display wrappers: Reasoning:\n... and Thinking...\n\n_..._
  • avoided double-italic wrapping for stripped legacy italic reasoning snapshots
  • no config surface or plugin surface changes

Fresh validation:

  • OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/discord/src/monitor/message-handler.process.test.ts --reporter=dot -> 1 file, 97 tests passed
  • ./node_modules/.bin/oxfmt --check ... -> passed
  • ./node_modules/.bin/oxlint --tsconfig config/tsconfig/oxlint.core.json ... -> 0 warnings, 0 errors
  • git diff --check origin/main...HEAD and git diff --check -> passed
  • codex review --base origin/main -> no actionable correctness issues found

No merge performed.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@giodl73-repo giodl73-repo force-pushed the fix-83983-discord-reasoning-deltas branch 2 times, most recently from e12bbfc to f18a3f6 Compare May 31, 2026 15:36

Copy link
Copy Markdown
Contributor Author

Updated #87339 onto live main as of the local refresh.

New signed head: f18a3f6197816abfea3ec803e9ad2dffe5be8e10.
Validated base: b9dc3c38940532f9525bdfd95185eb7619b04760.

Validation after the refresh:

  • OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/discord/src/monitor/message-handler.process.test.ts --reporter=dot -> 1 file, 102 tests passed
  • ./node_modules/.bin/oxfmt --check ... -> passed
  • ./node_modules/.bin/oxlint --tsconfig config/tsconfig/oxlint.core.json ... -> 0 warnings, 0 errors
  • git diff --check origin/main...HEAD and git diff --check -> passed
  • codex review --base origin/main -> no actionable correctness issues found

Diff remains scoped to Discord reasoning progress rendering/tests; no config surface or plugin surface changes. No merge performed.

Note: GitHub main advanced again just after this push, so this proves the rebased head against b9dc...; I am not merging or green-buttoning anything.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@giodl73-repo giodl73-repo force-pushed the fix-83983-discord-reasoning-deltas branch from f18a3f6 to d4d74b7 Compare May 31, 2026 23:09

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Refreshed #87339 onto current main for the requested exact rebased merge-result validation.

Updates on signed head d4d74b7d210890bb13f4e5f02ed4272d8ee48344:

  • rebased onto main 0c74f18a1c090746c390b749b6845988072a8f14
  • maintainer edits are enabled
  • PR body validation refreshed

Validation in WSL from /tmp/openclaw-pr-87339-refresh2:

  • OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/discord/src/monitor/message-handler.process.test.ts --reporter=dot -> 1 file, 102 tests passed
  • ./node_modules/.bin/oxfmt --check extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts -> passed
  • ./node_modules/.bin/oxlint --tsconfig config/tsconfig/oxlint.core.json extensions/discord/src/monitor/message-handler.process.ts extensions/discord/src/monitor/message-handler.draft-preview.ts extensions/discord/src/monitor/message-handler.process.test.ts -> 0 warnings, 0 errors
  • git diff --check origin/main...HEAD
  • git diff --check
  • git log --show-signature --format="%h %G? %s" origin/main..HEAD -> all 3 commits have good signatures
  • /home/giodl/.local/toolchains/node-v22.22.3-linux-x64/bin/codex review --base origin/main -> no actionable regressions identified

No public config, plugin API, CLI flag, env var, migration, or plugin contract surface was added. No merge performed.

@clawsweeper

clawsweeper Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. labels May 31, 2026
@steipete

steipete commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Maintainer verification before landing:

  • Exact head checked: d4d74b7
  • GitHub checks: full relevant CI green at that head, including Critical Quality (channel-runtime-boundary), build-artifacts, check-lint, check-prod-types, check-test-types, check-guards, dependency/security checks, and Real behavior proof.
  • ClawSweeper verdict: proof sufficient; ready for maintainer look; no concrete contributor-facing blocker remains.
  • Scope reviewed: Discord progress-mode reasoning rendering only; no config, plugin API, CLI flag, env var, migration, or dependency surface change.

Landing this PR to close the source-repro Discord reasoning progress regression in #83983. Thank you @giodl73-repo for the fix and the live Discord proof.

@steipete steipete merged commit a25338f into openclaw:main Jun 2, 2026
170 of 172 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channel: discord Channel integration: discord maintainer Maintainer-authored PR merge-risk: 🚨 message-delivery 🚨 May drop, duplicate, misroute, suppress, or wrongly target messages. P2 Normal backlog priority with limited blast radius. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. size: M status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug][Codex Runtime]: Discord progress reasoning stream overwrites prior reasoning chunks

4 participants