Skip to content

fix(gateway): reduce WebChat ingress latency#80670

Open
AndyTane wants to merge 3 commits into
openclaw:mainfrom
AndyTane:codex/fix-webchat-eager-transcript-main
Open

fix(gateway): reduce WebChat ingress latency#80670
AndyTane wants to merge 3 commits into
openclaw:mainfrom
AndyTane:codex/fix-webchat-eager-transcript-main

Conversation

@AndyTane

@AndyTane AndyTane commented May 11, 2026

Copy link
Copy Markdown

Summary

  • Persist WebChat user turns to the active session JSONL immediately after chat.send ACK and before agent dispatch enters the serialized session lane.
  • Pass an entry-scoped suppression marker through reply options, queued followups, and the embedded Pi runner so Pi does not append the same current user turn again.
  • Handle session rollover, stale session-store cache, hooks, reset commands, active same-session runs, and trailing user history repair without changing normal assistant persistence.

Verification

  • corepack pnpm exec oxfmt --check --threads=1 CHANGELOG.md docs/web/webchat.md src/agents/pi-embedded-runner/run.ts src/agents/pi-embedded-runner/run/attempt.prompt-helpers.test.ts src/agents/pi-embedded-runner/run/attempt.prompt-helpers.ts src/agents/pi-embedded-runner/run/attempt.ts src/agents/pi-embedded-runner/run/params.ts src/agents/session-tool-result-guard-wrapper.ts src/auto-reply/get-reply-options.types.ts src/auto-reply/reply/agent-runner-run-params.ts src/auto-reply/reply/followup-runner.ts src/auto-reply/reply/get-reply-run.ts src/auto-reply/reply/queue/types.ts src/gateway/server-methods/chat.ts src/gateway/server-methods/chat-user-transcript-persistence.ts src/gateway/server.chat.gateway-server-chat-b.test.ts src/gateway/session-utils.ts
  • corepack pnpm test src/agents/pi-embedded-runner/run/attempt.prompt-helpers.test.ts src/gateway/server.chat.gateway-server-chat.test.ts src/gateway/server.chat.gateway-server-chat-b.test.ts src/auto-reply/reply/agent-runner-utils.test.ts src/auto-reply/reply/agent-runner-execution.test.ts src/auto-reply/reply/followup-runner.test.ts src/agents/pi-embedded-runner/run.overflow-compaction.loop.test.ts
  • corepack pnpm tsgo:core
  • corepack pnpm tsgo:core:test
  • corepack pnpm check:changed
  • corepack pnpm build
  • git diff --check

Real behavior proof

  • Behavior or issue addressed: WebChat direct messages submitted through the gateway could wait behind a stuck or cleaning same-session agent lane before the user turn was written to the active session JSONL. In the reproduced case, the message arrived through the ClawStation WebSocket path around 22:10 but was not visible through WebChat history until about 22:13.
  • Real environment tested: Windows local OpenClaw gateway with the existing ClawStation configuration, direct/private WebChat delivery from ClawStation to an OpenClaw agent, local session JSONL storage, and the user's configured model/provider setup. Runtime logs and private identifiers were redacted before inclusion here.
  • Exact steps or command run after this patch: Built and started the patched local OpenClaw gateway, sent a private message from ClawStation to an agent, watched gateway/session logs, checked WebChat visibility, then repeated after triggering the session rollover edge case that previously logged ignored eager user transcript suppression after session rollover.
  • Evidence after fix: Redacted runtime log / copied live output from the local setup:
before: websocket receive ~=22:10, lane diagnostic active=1 queued=1 last=run:completed, user transcript append ~=22:13:07, chat.history visible ~=22:13:16
after: ClawStation private message submitted through WebSocket, WebChat displayed the user turn immediately after gateway ACK, before the agent lane finished; no duplicate user turn appeared in OpenClaw WebUI
rollover retest: eager user transcript was written to the active rolled session, Pi suppression matched the persisted entry id, and the agent response continued normally
health check while preparing PR: Invoke-RestMethod http://127.0.0.1:18790/health -> {"ok":true,"status":"live"}
  • Observed result after fix: The user turn is visible in WebChat as soon as the gateway eagerly appends it to the active session transcript, instead of waiting for the serialized agent lane. The Pi runner does not append the same current user turn a second time, reset commands are not written as durable user transcript entries, hook-gated paths still use fallback persistence, and session rollover uses the active session rather than the stale pre-rollover session.
  • What was not tested: I did not test a freshly built main Control UI against the user's running 5.7 gateway because the gateway protocol versions differ; that combination previously produced a protocol mismatch. The PR branch was validated with targeted gateway/Pi tests and pnpm build instead.

AI-assisted disclosure

  • This PR was developed with Codex assistance. I reviewed the code paths manually, ran the verification above, and understand the change.
  • I attempted the repository-requested local Codex review with codex review --base origin/main, codex review --uncommitted, and codex review --commit HEAD; each attempt timed out locally without producing findings.

@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation app: web-ui App: web-ui gateway Gateway runtime agents Agent runtime and tooling size: XL triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels May 11, 2026
@clawsweeper

clawsweeper Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed May 27, 2026, 1:00 AM ET / 05:00 UTC.

Summary
The PR eagerly writes WebChat chat.send user turns to the active session transcript before agent dispatch, propagates Pi suppression metadata, updates WebChat docs, and adds gateway/Pi regression coverage.

PR surface: Source +519, Tests +916, Docs +1. Total +1436 across 17 files.

Reproducibility: yes. at source/test level: the PR body gives a blocked-lane WebChat path, and the added test holds dispatch while checking JSONL append before release. I did not rerun it because this review is read-only.

Review metrics: 1 noteworthy metric.

  • Suppression contract fields: 3 added. The PR adds boolean, session-id, and entry-id suppression metadata across reply options and Pi run params, so the internal run contract needs review before merge.

Merge readiness
Overall: 🦐 gold shrimp
Proof: 🐚 platinum hermit
Patch quality: 🦐 gold shrimp
Result: needs maintainer review before merge.

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

Rank-up moves:

  • Rebase onto current main and preserve the current chat.send user-turn recorder and media-offload routing behavior.
  • Rerun the focused gateway/Pi regression tests and changed checks after the rebase.

Mantis proof suggestion
A short real WebChat proof would materially show the user-visible latency fix and duplicate-turn behavior. A maintainer can ask Mantis to capture proof by posting a new PR comment that starts with the OpenClaw Mantis account mention, followed by:

visual task: verify WebChat shows a sent user turn immediately after chat.send ACK while an agent lane is blocked, with no duplicate user turn after reply.

Risk before merge

  • The PR is reported dirty/unmergeable against current main, and the conflict area includes newer chat.send user-turn recorder and media-offload handling that must not be lost during rebase.
  • The patch moves durable user-turn persistence ahead of agent dispatch and coordinates suppression through Pi, so mistakes can duplicate, omit, or mis-associate WebChat transcript entries across rollover, hooks, and queued same-session runs.
  • The supplied proof is credible for the reporter's local gateway, but the PR body notes that a freshly built current-main Control UI was not tested against that running gateway because of protocol mismatch.

Maintainer options:

  1. Rebase and preserve current-main transcript behavior (recommended)
    Resolve the dirty branch by replaying the eager append design on top of current main without dropping the user-turn recorder or text-only media offload routing.
  2. Accept owner-reviewed persistence risk
    A maintainer can choose to land the eager transcript behavior after explicitly owning the session rollover, hook, and duplicate-suppression risk.

Next step before merge
Manual review is appropriate because the branch is dirty and the remaining work is integration and session-state safety review, not a narrow automated repair.

Security
Cleared: No dependency, workflow, permission, or secret-handling surface was added; the reviewed branch keeps redaction and hook gates on the new transcript path.

Review details

Best possible solution:

Rebase onto current main, preserve the newer chat.send recorder/media-offload behavior, rerun focused gateway/Pi checks, and land only after maintainer review confirms the eager transcript contract.

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

Yes at source/test level: the PR body gives a blocked-lane WebChat path, and the added test holds dispatch while checking JSONL append before release. I did not rerun it because this review is read-only.

Is this the best way to solve the issue?

Unclear until rebase: eager append plus entry-scoped suppression is a plausible narrow fix, but it must be integrated with current main's user-turn recorder and media-offload handling before it is the best merge path.

AGENTS.md: found and applied where relevant.

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

Label changes

Label changes:

  • add P1: The PR targets a real WebChat workflow where accepted user turns can remain invisible until a blocked session lane advances.
  • add merge-risk: 🚨 message-delivery: The suppression path decides whether Pi persists or skips the current user turn, so an integration mistake could duplicate or drop visible WebChat messages.
  • add merge-risk: 🚨 session-state: Merging changes when and where user turns are persisted in session JSONL, including rollover and active-session targeting.
  • add proof: sufficient: Contributor real behavior proof is sufficient. The PR body supplies redacted copied live output from a real Windows gateway showing before/after behavior, immediate WebChat visibility, no duplicate user turn, and rollover retest.
  • add rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🐚 platinum hermit and patch quality is 🦐 gold shrimp.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): The PR body supplies redacted copied live output from a real Windows gateway showing before/after behavior, immediate WebChat visibility, no duplicate user turn, and rollover retest.
  • remove rating: 🌊 off-meta tidepool: Current PR rating is rating: 🦐 gold shrimp, so this older rating label is no longer current.

Label justifications:

  • P1: The PR targets a real WebChat workflow where accepted user turns can remain invisible until a blocked session lane advances.
  • merge-risk: 🚨 session-state: Merging changes when and where user turns are persisted in session JSONL, including rollover and active-session targeting.
  • merge-risk: 🚨 message-delivery: The suppression path decides whether Pi persists or skips the current user turn, so an integration mistake could duplicate or drop visible WebChat messages.
  • rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🐚 platinum hermit and patch quality is 🦐 gold shrimp.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): The PR body supplies redacted copied live output from a real Windows gateway showing before/after behavior, immediate WebChat visibility, no duplicate user turn, and rollover retest.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body supplies redacted copied live output from a real Windows gateway showing before/after behavior, immediate WebChat visibility, no duplicate user turn, and rollover retest.
Evidence reviewed

PR surface:

Source +519, Tests +916, Docs +1. Total +1436 across 17 files.

View PR surface stats
Area Files Added Removed Net
Source 13 549 30 +519
Tests 3 917 1 +916
Docs 1 1 0 +1
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 17 1467 31 +1436

What I checked:

Likely related people:

  • Vincent Koc: Current-main blame/log for the gateway chat transcript and user-turn recorder area points to recent changes in the same chat.send session path. (role: recent area contributor; confidence: medium; commits: c965b3a1ae61, 563a125c66b1; files: src/gateway/server-methods/chat.ts, src/gateway/server.chat.gateway-server-chat-b.test.ts)
  • Ayaan Zaidi: Recent transcript-history commits introduced and normalized CLI transcript persistence, which is adjacent to the user-turn recorder contract this PR bypasses/replaces for WebChat. (role: adjacent transcript contributor; confidence: medium; commits: b8ef507cc082, 3a3fae0eac0f, 898fd0482a40; files: src/sessions/user-turn-transcript.ts, src/agents/pi-embedded-runner/run/attempt.ts)
  • Peter Steinberger: History search shows prior non-blocking chat.send and transcript test helper work around the same gateway/WebChat behavior family. (role: chat.send history contributor; confidence: low; commits: d7815089527c, 8f92c0607cd6, 966a3ea27c70; files: src/gateway/server-methods/chat.ts, src/sessions/user-turn-transcript.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 the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 11, 2026
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 11, 2026
@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 11, 2026
@openclaw-barnacle openclaw-barnacle Bot added proof: supplied External PR includes structured after-fix real behavior proof. and removed proof: sufficient ClawSweeper judged the real behavior proof convincing. triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels May 11, 2026
@AndyTane AndyTane force-pushed the codex/fix-webchat-eager-transcript-main branch 2 times, most recently from 1153e45 to 240fc10 Compare May 11, 2026 16:21
@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 11, 2026
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 11, 2026
@AndyTane

Copy link
Copy Markdown
Author

Maintainer merge request for head $sha.

Summary:

  • Kept the WebChat eager user transcript fix, so chat.send persists the user turn before entering the agent/session lane.
  • Fixed the attachment regression from the eager path: attachment media persistence no longer blocks dispatch, and the live session.message is emitted with media metadata only after the media rewrite completes.

After-fix verification from local OpenClaw source checkout:

ode scripts/test-projects.mjs src/gateway/server-methods/chat.directive-tags.test.ts -> 73 passed.

ode scripts/test-projects.mjs src/agents/pi-embedded-runner/run/attempt.prompt-helpers.test.ts src/gateway/server.chat.gateway-server-chat.test.ts src/gateway/server.chat.gateway-server-chat-b.test.ts src/auto-reply/reply/agent-runner-utils.test.ts src/auto-reply/reply/agent-runner-execution.test.ts src/auto-reply/reply/followup-runner.test.ts src/agents/pi-embedded-runner/run.overflow-compaction.loop.test.ts -> 7 files / 195 tests passed.

ode_modules.bin\oxfmt.CMD --check --threads=1 src\gateway\server-methods\chat.ts -> passed.

  • corepack pnpm tsgo:core -> passed.
  • corepack pnpm tsgo:core:test -> passed.
  • corepack pnpm check:changed -> passed.
  • git diff --check and git diff --check origin/main..HEAD -> passed.

GitHub checks observed on the latest SHA:

  • Real behavior proof -> success.
  • label, label-issues, and dispatch -> success.
  • One �uto-response check was cancelled for the superseded push; the rerun on the latest SHA completed successfully.

Please merge when maintainer-required CI/review is satisfied.

@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 11, 2026
@AndyTane AndyTane force-pushed the codex/fix-webchat-eager-transcript-main branch from e88e845 to 5367508 Compare May 11, 2026 17:19
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 11, 2026
@AndyTane

AndyTane commented May 11, 2026

Copy link
Copy Markdown
Author

Update after rebasing onto latest origin/main (839e9e9): head is now $sha.

Mergeability:

  • Rebased cleanly after resolving the only conflict in CHANGELOG.md by dropping the contributor changelog entry, per repository guidance that maintainer/AI handles changelog during landing.
  • GitHub now reports the PR as mergeable (mergeable=true); current unstable state is pending CI on the new SHA.

Re-run local verification after rebase:

ode scripts/test-projects.mjs src/gateway/server-methods/chat.directive-tags.test.ts -> 73 passed.

ode scripts/test-projects.mjs src/agents/pi-embedded-runner/run/attempt.prompt-helpers.test.ts src/gateway/server.chat.gateway-server-chat.test.ts src/gateway/server.chat.gateway-server-chat-b.test.ts src/auto-reply/reply/agent-runner-utils.test.ts src/auto-reply/reply/agent-runner-execution.test.ts src/auto-reply/reply/followup-runner.test.ts src/agents/pi-embedded-runner/run.overflow-compaction.loop.test.ts -> 7 files / 195 tests passed.

ode_modules.bin\oxfmt.CMD --check --threads=1 src\gateway\server-methods\chat.ts src\gateway\server-methods\chat-user-transcript-persistence.ts src\gateway\server.chat.gateway-server-chat-b.test.ts src\agents\pi-embedded-runner\run\attempt.prompt-helpers.ts src\agents\pi-embedded-runner\run\attempt.prompt-helpers.test.ts -> passed.

  • corepack pnpm tsgo:core -> passed.
  • corepack pnpm check:changed -> passed.
  • git diff --check origin/main..HEAD -> passed.

Known local check gap:

  • corepack pnpm tsgo:core:test currently fails on latest main in unrelated ACP tests: src/acp/translator.session-rate-limit.test.ts and src/acp/translator.stop-reason.test.ts. This PR has no src/acp/** changes, so I did not expand this latency fix into ACP test typing cleanup.

Please merge once required CI/review is satisfied.

Re-review progress:

@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 11, 2026
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 11, 2026
@AndyTane

Copy link
Copy Markdown
Author

CI follow-up for the latest head (c3f576d54342c54cfffcddcdb3d1051cc8860971):

  • Fixed the checks-node-agentic-gateway-methods failure in chat.directive-tags.test.ts by waiting for the intentionally backgrounded eager media transcript path to drain before the test exits. The previous assertion only waited for media saves, so a late transcript update from "serial please" could leak into the following "quick command" test on CI.
  • This is test-only; the gateway behavior remains the same.

Local verification after the fix:

node scripts/test-projects.mjs src/gateway/server-methods/chat.directive-tags.test.ts
# 1 file / 73 tests passed

node scripts/test-projects.mjs src/gateway/server-methods/chat.directive-tags.test.ts src/gateway/server.chat.gateway-server-chat.test.ts src/gateway/server.chat.gateway-server-chat-b.test.ts
# 3 files / 122 tests passed

node_modules\.bin\oxfmt.CMD --check --threads=1 src/gateway/server-methods/chat.directive-tags.test.ts
# passed

corepack pnpm check:changed
# passed

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

I also attempted the full CI shard locally with test/vitest/vitest.gateway-methods.config.ts, but the Windows local run exceeded a 5 minute timeout before producing a result, so I am relying on the targeted gateway-method tests above plus the GitHub shard rerun.

@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 11, 2026
@AndyTane

Copy link
Copy Markdown
Author

Maintainer merge request update:

  • The previous Real behavior proof blocker is fixed and passing on the latest head.
  • The follow-up checks-node-agentic-gateway-methods failure is fixed by c3f576d54342c54cfffcddcdb3d1051cc8860971; the GitHub shard is now passing.
  • Current state has no failed checks; remaining checks are still queued in GitHub Actions.

Please merge once the required queued checks complete, unless another maintainer concern comes up.

@openclaw-barnacle

Copy link
Copy Markdown

This pull request has been automatically marked as stale due to inactivity.
Please add updates or it will be closed.

@openclaw-barnacle openclaw-barnacle Bot added the stale Marked as stale due to inactivity label May 26, 2026
@clawsweeper clawsweeper Bot added rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. and removed proof: sufficient ClawSweeper judged the real behavior proof convincing. labels May 26, 2026
@clawsweeper

clawsweeper Bot commented May 26, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper PR egg

✨ Hatched: 🥚 common Pearl Diff Drake

Hatch command

Comment @clawsweeper hatch when this PR is hatchable.

Hatchability rules:

  • 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.

Rarity: 🥚 common.
Trait: polishes edge cases.
Image traits: location green-check meadow; accessory tiny test log scroll; palette violet, aqua, and starlight; mood watchful; pose leaning over a miniature review desk; shell starlit enamel shell; lighting moonlit rim light; background small green status lights.
Share on X: post this hatch
Copy: My PR egg hatched a 🥚 common Pearl Diff Drake in ClawSweeper.

What is this egg doing here?
  • Eggs appear after the PR passes real-behavior proof. It is here for vibes, not verdicts: it does not change labels, ratings, merge decisions, or automation.
  • The shell reacts to review momentum: open follow-up work warms it up, re-review makes it wobble, and a clean final review lets it hatch.
  • Hatchability usually comes from sufficient real-behavior proof, no blocking P0/P1/P2 findings, no security attention needed, and clean correctness. A merged PR is already final, so merge makes the egg hatchable independently.
  • 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.

@openclaw-barnacle openclaw-barnacle Bot removed the stale Marked as stale due to inactivity label May 27, 2026
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. 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. P1 High-priority user-facing bug, regression, or broken workflow. merge-risk: 🚨 message-delivery 🚨 May drop, duplicate, misroute, suppress, or wrongly target messages. merge-risk: 🚨 session-state 🚨 May lose, corrupt, stale, or mis-associate session, agent, or context state. and removed rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. labels May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agents Agent runtime and tooling app: web-ui App: web-ui docs Improvements or additions to documentation gateway Gateway runtime merge-risk: 🚨 message-delivery 🚨 May drop, duplicate, misroute, suppress, or wrongly target messages. merge-risk: 🚨 session-state 🚨 May lose, corrupt, stale, or mis-associate session, agent, or context state. 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: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. size: XL 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.

1 participant