Skip to content

fix(auto-reply): fast path text control commands#85616

Closed
litang9 wants to merge 1 commit into
openclaw:mainfrom
litang9:codex/text-control-command-fast-path
Closed

fix(auto-reply): fast path text control commands#85616
litang9 wants to merge 1 commit into
openclaw:mainfrom
litang9:codex/text-control-command-fast-path

Conversation

@litang9

@litang9 litang9 commented May 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add a strict fast path for whole-message text control commands such as /status, /thinking, /id, /usage, /send, and /activation.
  • Mark Feishu/Lark whole-message text slash commands as structured text command turns so core sees CommandTurn: text-slash instead of an ordinary message.
  • Reuse the existing status, directive, and local command handlers so these replies can return before workspace/bootstrap or Codex runtime execution.
  • Keep risky or prompt-bearing commands on the normal path, including /new, /reset, /compact, /model, /queue, /stop, /exec, /trace, inline command tokens, and commands with trailing prompt text.

Why

Feishu/Lark plain-text slash commands are not provider-native slash commands. They can arrive as authorized text command messages, and Codex/GPT-backed sessions may otherwise route local controls through the slower normal agent path. That can make /status or /thinking slow or fail to produce a visible operational reply even though they should be handled locally.

This rework is based on current upstream/main (d6ed2c392c1e) and replaces the old conflicting PR head with a narrow patch. It intentionally removes the stale job-level NODE_OPTIONS CI heap change and keeps the diff limited to Feishu text-command context, the safe core fast path, and focused tests.

Review Follow-up

  • Addresses ClawSweeper P1 by preserving markCommandReplyForDelivery on every handled fast-path reply, including text /status, text directive replies, text command-handler replies, native command replies, native directive replies, and inline fast-path replies.
  • Removes the unrelated job-level CI heap change from the PR scope.
  • Adds Feishu coverage proving whole-message text slash commands get CommandTurn: { kind: "text-slash", source: "text" }, while inline command tokens remain normal messages.
  • Adds auto-reply coverage proving text /status, /thinking, and /id return before workspace/bootstrap and carry deliverDespiteSourceReplySuppression metadata.

Safety

  • Requires the normal text-command enablement check.
  • Requires authorized senders before returning local command replies.
  • Only handles single-line, whole-message commands from a small whitelist.
  • Does not mark inline command tokens such as please check /status as text command turns.
  • Falls back to the existing reply flow when any prompt text remains.

Validation

Current-head validation on PR head 7d5fcc95ef4f:

  • npm run format:check -- extensions/feishu/src/bot.broadcast.test.ts extensions/feishu/src/bot.test.ts extensions/feishu/src/bot.ts src/auto-reply/reply/get-reply-native-slash-fast-path.ts src/auto-reply/reply/get-reply.fast-path.test.ts
  • node scripts/run-vitest.mjs run --config test/vitest/vitest.auto-reply-reply.config.ts src/auto-reply/reply/get-reply.fast-path.test.ts src/auto-reply/reply/get-reply-native-slash-fast-path.test.ts
  • node scripts/run-vitest.mjs run --config test/vitest/vitest.extension-feishu.config.ts extensions/feishu/src/bot.broadcast.test.ts extensions/feishu/src/bot.test.ts
  • node ../../scripts/run-vitest.mjs run --config ../../test/vitest/vitest.auto-reply-reply.config.ts reply/source-reply-delivery-mode.test.ts from src/auto-reply
  • npm run check:test-types
  • git diff --check

Real Behavior Proof

Behavior or issue addressed: Feishu/Lark whole-message text control commands such as /status should return a local operational reply instead of being routed through the slow Codex/GPT agent path and completing with no visible reply.

Real environment tested: Local macOS OpenClaw gateway started from this PR source at original proof head c81dbf2f13c4, OpenClaw 2026.5.22, with the Feishu plugin loaded from /Users/alex/Code/openclaw/extensions/feishu/index.ts. The runtime used a real Feishu feishu2 WebSocket account and a real p2p Feishu DM. Secrets and user/chat IDs are redacted below. After later review follow-up, this PR was rebuilt on current upstream/main at d6ed2c392c1e; the same Feishu fast-path behavior remains covered by focused current-head tests and the GitHub Real behavior proof check.

Exact steps or command run after this patch: Started a Feishu-only proof gateway from the PR source:

NODE_DISABLE_COMPILE_CACHE=1 \
OPENCLAW_CONFIG_PATH=/tmp/openclaw-pr85616-feishu2-minimal.json \
OPENCLAW_BUNDLED_PLUGINS_DIR=/Users/alex/Code/openclaw/extensions \
OPENCLAW_TEST_TRUST_BUNDLED_PLUGINS_DIR=1 \
OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY=1 \
OPENCLAW_SKIP_STARTUP_MODEL_PREWARM=1 \
OPENCLAW_GATEWAY_STARTUP_TRACE=1 \
node --import tsx src/entry.ts gateway run --bind loopback --port 18789 --force --ws-log compact --verbose

Then sent /status from the real Feishu feishu2 DM.

Evidence after fix: Redacted runtime log excerpt from /tmp/openclaw/openclaw-2026-05-23.log:

2026-05-23T21:49:35.639+08:00 [gateway] http server listening (1 plugin: feishu; 29.9s)
2026-05-23T21:49:39.831+08:00 [feishu] starting feishu[feishu2] (mode: websocket)
2026-05-23T21:49:56.165+08:00 [feishu] feishu[feishu2]: WebSocket client started
2026-05-23T21:49:58.334+08:00 [info]: [ '[ws]', 'ws client ready' ]
2026-05-23T21:52:22.137+08:00 [feishu] feishu[feishu2]: received message from <redacted-open-id> in <redacted-chat-id> (p2p)
2026-05-23T21:52:22.150+08:00 [feishu] feishu[feishu2]: Feishu[feishu2] DM from <redacted-open-id>: /status
2026-05-23T21:52:25.438+08:00 [feishu] feishu[feishu2]: dispatch complete (queuedFinal=true, replies=1)

For comparison, before this patch on installed OpenClaw 2026.5.20, the same real Feishu2 /status path reached dispatch but produced no visible reply:

2026-05-23T19:45:43.331+08:00 [feishu] feishu[feishu2]: Feishu[feishu2] DM from <redacted-open-id>: /status
2026-05-23T19:45:44.119+08:00 [feishu] feishu[feishu2]: dispatch complete (queuedFinal=false, replies=0)

Observed result after fix: The real Feishu2 /status DM now exits through the local control-command fast path and produces one queued final reply (queuedFinal=true, replies=1) instead of the previous no-reply completion (queuedFinal=false, replies=0).

What was not tested: This runtime proof covers the safe local text-control subset via Feishu p2p DM. It does not claim coverage for destructive/stateful commands (/new, /reset, /compact, /stop), prompt-bearing slash commands, native slash-command payloads, or group mention routing.

Related Issues

@openclaw-barnacle openclaw-barnacle Bot added size: L triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels May 23, 2026
@clawsweeper

clawsweeper Bot commented May 23, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed July 5, 2026, 10:01 PM ET / 02:01 UTC.

Summary
The branch marks Feishu whole-message text slash commands as structured text command turns and adds a strict auto-reply fast path for a small safe subset of local text control replies.

PR surface: Source +244, Tests +257. Total +501 across 5 files.

Reproducibility: yes. The PR body supplies before/after real Feishu WebSocket /status logs, and current main/release source lacks the added Feishu command-turn marker and safe text fast path.

Review metrics: 1 noteworthy metric.

  • Text fast-path allowlist: 1 status path, 4 directive commands, 4 handler commands. The explicit allowlist is the main safety boundary for changing Feishu text command handling before workspace/bootstrap.

Stored data model
Persistent data-model change detected: serialized state: extensions/feishu/src/bot.test.ts. Confirm migration or upgrade compatibility proof before merge.

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.

Next step before merge

  • No automated repair is needed; the remaining action is maintainer merge review and normal exact-head merge gating.

Security
Cleared: The diff changes Feishu command metadata, auto-reply fast-path logic, and tests only; it adds no dependency, workflow, secret, permission, install, or supply-chain surface.

Review details

Best possible solution:

Land this narrow safe-command subset after maintainer review and normal merge gates, while keeping broader stateful Feishu commands such as /stop, /new, and /compact on their separate issue paths.

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

Yes. The PR body supplies before/after real Feishu WebSocket /status logs, and current main/release source lacks the added Feishu command-turn marker and safe text fast path.

Is this the best way to solve the issue?

Yes. This is the best narrow fix for the safe subset: Feishu supplies structured command-turn metadata and core fast-paths only tightly allowlisted local replies, avoiding broad stateful or prompt-bearing text command handling.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against b6127ef0d81e.

Label changes

Label changes:

  • add proof: sufficient: Contributor real behavior proof is sufficient. Sufficient: the PR body includes redacted before/after Feishu WebSocket /status logs and the GitHub Real behavior proof check passes on the current head.
  • add rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦞 diamond lobster and patch quality is 🦞 diamond lobster.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (logs): Sufficient: the PR body includes redacted before/after Feishu WebSocket /status logs and the GitHub Real behavior proof check passes on the current head.

Label justifications:

  • P1: The PR addresses a broken Feishu/Lark control-command workflow where authorized /status-style text commands can produce no visible operational reply.
  • 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 (logs): Sufficient: the PR body includes redacted before/after Feishu WebSocket /status logs and the GitHub Real behavior proof check passes on the current head.
  • proof: sufficient: Contributor real behavior proof is sufficient. Sufficient: the PR body includes redacted before/after Feishu WebSocket /status logs and the GitHub Real behavior proof check passes on the current head.
Evidence reviewed

PR surface:

Source +244, Tests +257. Total +501 across 5 files.

View PR surface stats
Area Files Added Removed Net
Source 2 246 2 +244
Tests 3 257 0 +257
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 5 503 2 +501

What I checked:

  • Repository policy read: Root AGENTS.md and extensions/AGENTS.md were read and applied; the relevant guidance is the conservative PR review bar and the bundled plugin boundary for extension code. (AGENTS.md:1, b6127ef0d81e)
  • Current main lacks this Feishu fast path: Current main has generic text-slash turn support, but the native slash fast-path only handles native turns and the existing internal trajectory text path; it does not add resolveTextSlashFastPathIntent or Feishu text-command metadata. (src/auto-reply/reply/get-reply-native-slash-fast-path.ts:70, b6127ef0d81e)
  • Latest release lacks this Feishu fast path: The latest release commit has no resolveTextSlashFastPathIntent match and the Feishu inbound path goes from command authorization directly to topic/session handling without attaching CommandTurn metadata. (extensions/feishu/src/bot.ts:1152, e085fa1a3ffd)
  • PR adds Feishu text command-turn metadata: The PR head calls the channel command detector for Feishu inbound text and passes a text-slash CommandTurn into buildChannelInboundEventContext while leaving inline command tokens as normal message turns in tests. (extensions/feishu/src/bot.ts:1169, 53cceffa8e93)
  • PR adds strict fast-path allowlist: The new resolver gates text command fast-path handling on text-command enablement, single-line text command bodies, /status, four directive commands, and four local command handlers. (src/auto-reply/reply/get-reply-native-slash-fast-path.ts:149, 53cceffa8e93)
  • Previous delivery-metadata concern is resolved: Handled text command and directive replies are wrapped with markCommandReplyForDelivery, preserving delivery despite source reply suppression. (src/auto-reply/reply/get-reply-native-slash-fast-path.ts:410, 53cceffa8e93)

Likely related people:

  • steipete: Auth and native command routing history is concentrated around the current auto-reply command fast-path and CommandAuthorized plumbing touched by this PR. (role: auto-reply command-path contributor; confidence: high; commits: 69ba2765de0a, 243a8b019ee3, a4e728feca90; files: src/auto-reply/reply/get-reply-native-slash-fast-path.ts, src/auto-reply/reply/get-reply.ts, src/auto-reply/command-turn-context.ts)
  • vincentkoc: Recent Feishu message, mention, and runtime-seam commits are directly adjacent to the inbound command metadata path changed here. (role: Feishu channel area contributor; confidence: high; commits: 2b96f53f9782, d609f71c9b74, beb108cfaa77; files: extensions/feishu/src/bot.ts)
  • RomneyDa: Recent current-main refactor history touches the same Feishu and auto-reply surfaces and is useful for structural review questions around the rebased path. (role: recent adjacent refactor contributor; confidence: medium; commits: cf14b27d81e6; files: extensions/feishu/src/bot.ts, src/auto-reply/reply/get-reply-native-slash-fast-path.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.
Review history (5 earlier review cycles)
  • reviewed 2026-06-24T14:45:13.754Z sha 4171d8a :: needs changes before merge. :: [P1] Preserve command reply delivery metadata
  • reviewed 2026-07-04T13:29:02.774Z sha 7d5fcc9 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-04T13:39:36.723Z sha 7d5fcc9 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-05T03:05:11.459Z sha 53cceff :: needs maintainer review before merge. :: none
  • reviewed 2026-07-05T03:39:39.066Z sha 53cceff :: needs maintainer review before merge. :: none

@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. P1 High-priority user-facing bug, regression, or broken workflow. merge-risk: 🚨 message-delivery 🚨 May drop, duplicate, misroute, suppress, or wrongly target messages. labels May 23, 2026
@clawsweeper

clawsweeper Bot commented May 23, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper PR egg: ✨ hatched 🌱 uncommon Cosmic Diff Drake. Rarity: 🌱 uncommon. Trait: keeps receipts.

Details

Share on X: post this hatch
Copy: My PR egg hatched a 🌱 uncommon Cosmic Diff Drake in ClawSweeper.
Hatchability:

  • Merged PRs are hatchable.
  • Open PRs are hatchable when they are status: 👀 ready for maintainer look, status: 🚀 automerge armed, or labeled clawsweeper:automerge.
  • Closed unmerged PRs are hatchable only when one of those hatchable labels is still present in the durable record.

About:

  • Eggs appear after real-behavior proof passes. They are collectible flavor only.
  • Review momentum changes the shell state: follow-up work warms it, re-review makes it wobble, and a clean final review lets it hatch.
  • The hatch is seeded from this repository and PR number, so the same PR keeps the same creature; the reviewed head SHA can only change safe visual details.
  • Rarity is just collectible sparkle: 🥚 common, 🌱 uncommon, 💎 rare, ✨ glimmer, and 🌈 legendary.

@litang9
litang9 force-pushed the codex/text-control-command-fast-path branch 2 times, most recently from fcfe040 to c81dbf2 Compare May 23, 2026 04:52
@openclaw-barnacle openclaw-barnacle Bot added channel: feishu Channel integration: feishu proof: supplied External PR includes structured after-fix real behavior proof. and removed triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels May 23, 2026
@litang9

litang9 commented May 23, 2026

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Real behavior proof has been added to the PR body, and the Real behavior proof check is passing.

@clawsweeper

clawsweeper Bot commented May 23, 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:

@litang9
litang9 marked this pull request as ready for review May 23, 2026 14:01
@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 23, 2026
@BingqingLyu

This comment was marked as spam.

@litang9
litang9 force-pushed the codex/text-control-command-fast-path branch from 7ab7297 to 9dece9f Compare May 28, 2026 13:18
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 28, 2026
@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 28, 2026
@openclaw-barnacle openclaw-barnacle Bot added the scripts Repository scripts label May 28, 2026
@litang9
litang9 force-pushed the codex/text-control-command-fast-path branch from 219179c to 03443a0 Compare May 28, 2026 13:34
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 28, 2026
@clawsweeper clawsweeper Bot added rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. labels May 28, 2026
@clawsweeper clawsweeper Bot added the merge-risk: 🚨 automation 🚨 May affect CI, automerge, proof capture, label sync, or maintainer automation. label Jun 15, 2026
@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Jun 19, 2026
@litang9

litang9 commented Jul 4, 2026

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review please

Addressed the review follow-up in 7d5fcc95ef4f:

  • Rebuilt the PR on current upstream/main, which resolved the GitHub merge conflict.
  • Preserved markCommandReplyForDelivery for every handled fast-path reply path, including text /status, text directive replies, text command-handler replies, native command replies, native directive replies, and inline fast-path replies.
  • Removed the unrelated job-level NODE_OPTIONS CI heap change from this PR scope.
  • Updated the PR body to reflect the current narrow diff and current-head validation.

Current local validation:

  • npm run format:check -- extensions/feishu/src/bot.broadcast.test.ts extensions/feishu/src/bot.test.ts extensions/feishu/src/bot.ts src/auto-reply/reply/get-reply-native-slash-fast-path.ts src/auto-reply/reply/get-reply.fast-path.test.ts
  • node scripts/run-vitest.mjs run --config test/vitest/vitest.auto-reply-reply.config.ts src/auto-reply/reply/get-reply.fast-path.test.ts src/auto-reply/reply/get-reply-native-slash-fast-path.test.ts
  • node scripts/run-vitest.mjs run --config test/vitest/vitest.extension-feishu.config.ts extensions/feishu/src/bot.broadcast.test.ts extensions/feishu/src/bot.test.ts
  • node ../../scripts/run-vitest.mjs run --config ../../test/vitest/vitest.auto-reply-reply.config.ts reply/source-reply-delivery-mode.test.ts from src/auto-reply
  • npm run check:test-types
  • git diff --check

GitHub Real behavior proof is passing on the new head; remaining GitHub checks are still running.

@clawsweeper

clawsweeper Bot commented Jul 4, 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.

@litang9

litang9 commented Jul 5, 2026

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Rebased this PR onto current main and resolved the single conflict in src/auto-reply/reply/get-reply-native-slash-fast-path.ts.

The conflict resolution keeps this PR's text control-command fast path and preserves main's new persistReplySessionEntry(...) session lifecycle persistence before command/directive handling.

Current status on head 53cceffa8e:

  • Merge state is clean.
  • All GitHub checks are passing or skipped.
  • Real behavior proof is passing.

Local validation after the rebase:

  • node_modules/.bin/oxfmt --check --threads=1 extensions/feishu/src/bot.broadcast.test.ts extensions/feishu/src/bot.test.ts extensions/feishu/src/bot.ts src/auto-reply/reply/get-reply-native-slash-fast-path.ts src/auto-reply/reply/get-reply.fast-path.test.ts
  • node scripts/run-vitest.mjs src/auto-reply/reply/get-reply.fast-path.test.ts src/auto-reply/reply/get-reply-native-slash-fast-path.test.ts
  • node scripts/run-vitest.mjs extensions/feishu/src/bot.broadcast.test.ts extensions/feishu/src/bot.test.ts
  • git diff --check upstream/main...HEAD

@clawsweeper

clawsweeper Bot commented Jul 5, 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.

@brokemac79

Copy link
Copy Markdown
Contributor

Hi! Small heads-up: ClawSweeper had a short-lived label/comment sync bug that may have affected this PR.

Your latest ClawSweeper review comment appears to be for the current PR head and says this is ready for maintainer review, but the ready/proof/rating labels were later removed by stale local review state. The ClawSweeper fix has merged, but this PR needs a fresh author-triggered review so the labels and comment are reconciled again.

Could you please post a new comment asking ClawSweeper to re-review? Use the bot mention followed by re-review.

Thanks, and sorry for the noise.

@litang9

litang9 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Requested after the ClawSweeper label/comment sync fix. The latest review comment already matches current head 53cceffa8e93d64e329fa3620fb25dd7a3e15ff1 and says this is ready for maintainer review, but labels currently only show proof: supplied instead of the ready/proof/rating labels. Checks are green with no failing or pending checks.

@vincentkoc

Copy link
Copy Markdown
Member

Thanks for pursuing the Feishu command-delivery regression and repeatedly rebasing the work. We are closing this implementation because the shared fast path introduces a second command and argument policy and changes authorization-sensitive execution timing for every channel producing text-slash turns, while the supplied proof covers only an authorized Feishu DM. The original delivered=false symptom has since been fixed on main through the canonical source-reply delivery policy in #86874. The remaining stateful Feishu command problem stays tracked in #79409 and needs an owner-approved structured command-turn and authorization design rather than this fast-path allowlist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channel: feishu Channel integration: feishu P1 High-priority user-facing bug, regression, or broken workflow. proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: supplied External PR includes structured after-fix real behavior proof. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. size: L 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.

4 participants