Skip to content

fix: carry reply metadata into runtime context#90745

Open
clawSean wants to merge 1 commit into
openclaw:mainfrom
clawSean:fix/reply-context-runtime
Open

fix: carry reply metadata into runtime context#90745
clawSean wants to merge 1 commit into
openclaw:mainfrom
clawSean:fix/reply-context-runtime

Conversation

@clawSean

@clawSean clawSean commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

What Problem This Solves

Telegram/forum reply facts can exist in channel context but be lost or persisted as user-authored prompt text before they reach the active model runtime. The runtime needs structured current-turn reply metadata without leaking replied-to message bodies into trusted metadata or transcript text.

Why This Change Was Made

  • Add structured current-message, thread, reply-target, quote, and reply-chain identifiers to CurrentInboundPromptContext.
  • Keep replied-to body text out of the trusted metadata block and verbose trace.
  • Route reply metadata through hidden embedded runtime context while leaving promptForSession / promptForModel as the user-authored prompt.
  • Preserve current-main heartbeat outcome and prepared-timestamp behavior during the rebase.
  • Carry the same reply metadata into CLI runtime input while keeping the CLI transcript prompt clean.
  • Use the same bare marker prompt for runtime-only turns and place inbound metadata in runtime system context.

User Impact

Agents can reason about what a Telegram/forum message replies to without polluting stored user prompts or losing reply/thread identity across embedded and CLI runtime paths.

Evidence

Current contributor head: a3b98718d84b9e923823c3f4d41f427a02ded8cb rebased onto upstream main 45744c962af8cc012914664039f8e3f8ae973442.

  • Focused current-branch run: 5 test files across unit-fast and agent projects, 221 tests passed (51 unit-fast + 170 agent-runtime).
  • Positive coverage: structured reply metadata reaches embedded hidden runtime context and CLI runtime input, including runtime-only room events.
  • Negative coverage: replied-to body text is excluded; visible/model/transcript prompts remain the user-authored text; quote presence and generic reply-target presence stay distinct.
  • Cross-runtime regression explicitly verifies CLI prompt availability while transcriptPrompt and the context-engine turn prompt remain clean.
  • The single rebase conflict retained current-main MEDIA_ONLY_USER_TEXT behavior while preserving the PR-owned trusted reply metadata block.
  • The CLI regression now uses current main's createCliRunnerPrepareFixture API after the old helper was removed.
  • Touched-file formatter, core typecheck, conflict-marker scan, git diff --check upstream/main...HEAD, and range-diff intent audit passed.
  • The pre-PR wrapper was skipped under the approved VPS hardware exception; hosted CI remains the canonical heavy validation lane.

Real behavior proof

Earlier redacted Telegram/forum transport supplied real message/thread/reply identifiers and confirmed that the persisted session user message remained user-authored text only. The current-head tests drive the real prompt-envelope, runtime-context split, embedded attempt assembly, context-engine handoff, and CLI prepare path.

No live Telegram bot round-trip was deployed on this exact rebased head. No Gateway restart or production session migration was performed. Current-head hosted CI and Telegram-visible Mantis/maintainer confirmation remain pending; the branch-specific runtime boundary is covered directly.

Addresses the runtime-handoff portion of #88032.

AI-assisted; reviewed and validated before submission.

@openclaw-barnacle openclaw-barnacle Bot added agents Agent runtime and tooling size: M triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels Jun 5, 2026
@clawsweeper

clawsweeper Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed July 18, 2026, 9:20 PM ET / July 19, 2026, 01:20 UTC.

Summary
The PR adds structured current-turn reply identifiers and routes inbound reply context through embedded and CLI runtime paths while keeping persisted and transcript prompts user-authored.

PR surface: Source +139, Tests +331. Total +470 across 10 files.

Reproducibility: yes. from source: the changed context-engine test directly demonstrates a reply body moving from the bare prompt into the runtime system prompt. A real Telegram round trip on this exact head was not provided.

Review metrics: none identified.

Stored data model
Persistent data-model change detected: serialized state: src/agents/embedded-agent-runner/run/runtime-context-prompt.test.ts, serialized state: src/agents/embedded-agent-runner/run/runtime-context-prompt.ts, vector/embedding metadata: src/agents/cli-runner/prepare.test.ts, vector/embedding metadata: src/agents/embedded-agent-runner/run/attempt-prompt-context.test.ts, vector/embedding metadata: src/agents/embedded-agent-runner/run/runtime-context-prompt.test.ts, vector/embedding metadata: src/agents/embedded-agent-runner/run/runtime-context-prompt.ts, and 1 more. Confirm migration or upgrade compatibility proof before merge.

Merge readiness
Overall: 🦪 silver shellfish
Proof: 🦐 gold shrimp
Patch quality: 🦪 silver shellfish
Result: blocked until stronger real behavior proof is added.

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

Rank-up moves:

  • [P1] Resolve the reply-body trust contract and add a regression proving only the approved data crosses the system boundary.
  • [P1] Add redacted current-head Telegram evidence showing reply-aware behavior without privileged quote-text injection.

Proof guidance:

  • [P1] Needs stronger real behavior proof before merge: The PR describes earlier redacted transport evidence and focused tests, but it explicitly says no live Telegram round trip was run on this rebased head; add redacted after-fix evidence that demonstrates both reply handling and the trust boundary. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Mantis proof suggestion
Telegram Desktop proof would materially help verify the user-visible reply flow after the trust-boundary repair, although it does not replace the required code-level contract fix. A maintainer can ask Mantis to capture proof by posting this exact PR comment:

@openclaw-mantis telegram desktop proof: verify a Telegram reply reaches the agent as reply-aware context while quoted body text is not treated as privileged runtime instruction.

Risk before merge

  • [P1] Channel-controlled quoted text can be interpreted with system-context authority if it remains in currentInboundContext.text, despite being labeled untrusted in the reply/context rendering path.
  • [P1] The branch lacks current-head live Telegram evidence showing both the reply-aware agent behavior and that untrusted quote text cannot affect privileged runtime instructions.

Maintainer options:

  1. Partition trusted identifiers from reply text (recommended)
    Before merge, keep only normalized reply identifiers in runtime system context and route quote/body content through an explicitly untrusted representation with regression coverage.
  2. Pause for a documented trust contract
    Do not merge until an owner explicitly approves a channel-generic policy for whether reply bodies may be system-context input.

Next step before merge

  • [P1] A maintainer must choose the permanent cross-channel trust contract before a repair can safely decide which reply fields are allowed in system context.

Maintainer decision needed

  • Question: Should reply/quote body text from channel payloads ever enter OpenClaw runtime system context, or must the trusted payload be limited to structured identifiers while body text stays explicitly untrusted?
  • Rationale: The PR deliberately changes the trust placement of reply data across shared embedded and CLI runtime paths; code review cannot safely choose the repository's permanent privilege boundary for channel-supplied content.
  • Likely owner: openperf — The merged runtime-context work provides the closest current-main ownership signal for this decision.
  • Options:

Security
Needs attention: The patch has a concrete prompt-trust-boundary concern because channel reply bodies can cross into runtime system context.

Review findings

  • [P1] Keep reply bodies out of the runtime system prompt — src/agents/embedded-agent-runner/run/attempt-prompt-context.ts:171
Review details

Best possible solution:

Define a channel-generic inbound contract that carries only verified reply identifiers as trusted runtime metadata and delivers any quote/body text through an explicitly untrusted context representation.

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

Yes, from source: the changed context-engine test directly demonstrates a reply body moving from the bare prompt into the runtime system prompt. A real Telegram round trip on this exact head was not provided.

Is this the best way to solve the issue?

No. Preserving clean user and transcript prompts is valuable, but elevating channel-supplied reply bodies to system context is not the narrowest safe solution; separate trusted identifiers from untrusted text instead.

Full review comments:

  • [P1] Keep reply bodies out of the runtime system prompt — src/agents/embedded-agent-runner/run/attempt-prompt-context.ts:171
    currentInboundContext includes channel-derived text, and the changed runtime-only test confirms that a reply target body reaches systemPrompt. The new reply object omits bodies, but passing the full context here still elevates text that the prompt format calls untrusted. Partition identifiers from quote/body text before inserting runtime system context.
    Confidence: 0.96

Overall correctness: patch is incorrect
Overall confidence: 0.9

AGENTS.md: found and applied where relevant.

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

Label changes

Label changes:

  • add merge-risk: 🚨 security-boundary: The changed path places channel-derived reply text into a runtime system prompt despite the text being marked untrusted by the surrounding reply-context contract.
  • add rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦐 gold shrimp and patch quality is 🦪 silver shellfish.
  • add status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs stronger real behavior proof before merge: The PR describes earlier redacted transport evidence and focused tests, but it explicitly says no live Telegram round trip was run on this rebased head; add redacted after-fix evidence that demonstrates both reply handling and the trust boundary. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
  • remove proof: sufficient: Current real behavior proof status is insufficient, not sufficient.
  • remove rating: 🐚 platinum hermit: Current PR rating is rating: 🦪 silver shellfish, so this older rating label is no longer current.
  • remove status: 👀 ready for maintainer look: Current PR status label is status: 📣 needs proof.

Label justifications:

  • P2: This is a bounded but cross-runtime reply-context change whose trust placement can affect agent behavior across supported channels.
  • merge-risk: 🚨 session-state: The PR changes what current-turn reply context reaches embedded and CLI session/runtime paths while preserving a clean transcript boundary.
  • merge-risk: 🚨 security-boundary: The changed path places channel-derived reply text into a runtime system prompt despite the text being marked untrusted by the surrounding reply-context contract.
  • rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦐 gold shrimp and patch quality is 🦪 silver shellfish.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs stronger real behavior proof before merge: The PR describes earlier redacted transport evidence and focused tests, but it explicitly says no live Telegram round trip was run on this rebased head; add redacted after-fix evidence that demonstrates both reply handling and the trust boundary. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
  • mantis: telegram-visible-proof: Mantis should capture Telegram visible proof. A short Telegram Desktop recording can demonstrate that a reply-aware turn still reaches the agent correctly after reply bodies are kept out of privileged runtime context.
Evidence reviewed

PR surface:

Source +139, Tests +331. Total +470 across 10 files.

View PR surface stats
Area Files Added Removed Net
Source 5 172 33 +139
Tests 5 343 12 +331
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 10 515 45 +470

Security concerns:

  • [high] Untrusted reply text reaches system context — src/agents/embedded-agent-runner/run/attempt-prompt-context.ts:171
    Reply-target content is channel supplied and is explicitly described as untrusted in the test fixture, yet the changed flow makes it part of the runtime system prompt. This can give untrusted content stronger instruction authority than intended.
    Confidence: 0.96

What I checked:

Likely related people:

  • openperf: Authored the merged runtime-context split that changed the same prompt assembly contract and is the strongest available history signal for this trust-boundary decision. (role: recent area contributor; confidence: medium; commits: e1eac7a79dac; files: src/agents/embedded-agent-runner/run/runtime-context-prompt.ts, src/agents/embedded-agent-runner/run/attempt.llm-boundary.test.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 (6 earlier review cycles)
  • reviewed 2026-07-02T17:18:52.290Z sha 956534a :: needs maintainer review before merge. :: none
  • reviewed 2026-07-03T06:13:13.739Z sha 956534a :: needs maintainer review before merge. :: none
  • reviewed 2026-07-09T09:04:25.603Z sha 6ec795f :: needs maintainer review before merge. :: none
  • reviewed 2026-07-14T10:51:01.571Z sha 2e640a6 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-19T00:10:58.829Z sha 86b6531 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-19T00:38:25.452Z sha 56db654 :: found issues before merge. :: [P1] Keep reply bodies out of the runtime system prompt

@openclaw-barnacle openclaw-barnacle Bot added 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 Jun 5, 2026
@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. mantis: telegram-visible-proof Mantis should capture Telegram visible proof. P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 session-state 🚨 May lose, corrupt, stale, or mis-associate session, agent, or context state. labels Jun 5, 2026
@clawSean
clawSean force-pushed the fix/reply-context-runtime branch from c336ac7 to e8badae Compare June 5, 2026 21:09
@clawSean

clawSean commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jun 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.

Re-review progress:

@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. labels Jun 5, 2026
@clawSean
clawSean force-pushed the fix/reply-context-runtime branch from e8badae to 934957b Compare June 5, 2026 21:29
@clawSean

clawSean commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jun 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.

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: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jun 5, 2026
@clawSean
clawSean force-pushed the fix/reply-context-runtime branch from 934957b to bd5eb33 Compare June 13, 2026 08:42
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label Jun 13, 2026
@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. labels Jun 13, 2026
@clawSean

clawSean commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

Rebased onto current main — new head 956534ade3.

One conflict in src/agents/embedded-agent-runner/run/params.ts: main added the ReasoningStreamPayload type in the same location where this PR adds CurrentInboundReplyMetadata; both types are kept (purely additive merge).

Validation on the new head:

  • node scripts/run-vitest.mjs run src/auto-reply/reply/prompt-prelude.test.ts src/agents/embedded-agent-runner/run/runtime-context-prompt.test.ts ✅ 27 tests
  • node scripts/run-vitest.mjs run src/agents/embedded-agent-runner/run/attempt.spawn-workspace.context-engine.test.ts ✅ 67 tests (needed an extended hook timeout locally on a 2-core box; assertions all pass)
  • node scripts/run-tsgo.mjs -p tsconfig.core.json
  • git diff --check

The two unrelated check-lint/check-additional-extension-bundled failures from the previous head (extensions/memory-core lint drift) should now be gone since that was fixed on main.

@clawsweeper re-review

@clawsweeper

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

@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. and removed rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. labels Jul 2, 2026
@clawSean
clawSean force-pushed the fix/reply-context-runtime branch from 956534a to 6ec795f Compare July 9, 2026 08:34
@clawSean

clawSean commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Updated proof for current head 6ec795fb7b4ba0317740a0640ea5ddd15afd8a88.

Rebased onto upstream main 720aeb1547 and fixed the runtime-only prompt regression that surfaced during the conflict repair: runtime-only turns now keep the bare marker prompt and carry current inbound context through runtime system context instead of the removed inline helper path.

Validation on this head:

  • node scripts/run-vitest.mjs run src/agents/embedded-agent-runner/run/attempt.spawn-workspace.context-engine.test.ts src/agents/embedded-agent-runner/run/runtime-context-prompt.test.ts src/auto-reply/reply/prompt-prelude.test.ts — 2 shards / 120 tests passed
  • node scripts/run-tsgo.mjs -p tsconfig.core.json — passed
  • git diff --check upstream/main...HEAD — clean

Known local gate gap: repo-local Codex autoreview helper could not run on this VPS because no codex executable is installed in PATH; no dependency/tooling install was performed during the repair.

@clawsweeper re-review

@clawsweeper

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

@clawSean

Copy link
Copy Markdown
Contributor Author

Rebased onto current main and refreshed the reply-runtime parity proof. The exact focused suite passed 212 tests (50 unit + 162 agent-runtime), including CLI availability and the context-engine/transcript non-leak boundary; formatter and diff checks also passed.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 19, 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:

@clawSean
clawSean force-pushed the fix/reply-context-runtime branch from 86b6531 to 56db654 Compare July 19, 2026 00:35
@clawSean

Copy link
Copy Markdown
Contributor Author

Fixed the dependency-check findings by keeping the reply metadata alias and prompt-prefix builder internal; tests now exercise the existing runtime entrypoint instead of widening the public surface. The exact parity suite remains green at 212 tests, with formatter/diff checks passing on the rebased head.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 19, 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 proof: sufficient ClawSweeper judged the real behavior proof convincing. label Jul 19, 2026
@clawSean

Copy link
Copy Markdown
Contributor Author

Updated the durable Evidence section for current head a3b98718d84b9e923823c3f4d41f427a02ded8cb.

The guarded rebase resolved one conflict by retaining current-main MEDIA_ONLY_USER_TEXT behavior while preserving the PR-owned reply metadata block. I also adapted the PR regression to current main's CLI fixture API.

Focused exact-head validation:

  • 5 test files / 221 tests passed (51 unit-fast + 170 agent-runtime)
  • touched-file formatter passed
  • core typecheck passed
  • conflict-marker and git diff --check gates passed
  • range-diff intent audit passed

The pre-PR wrapper was skipped under the approved VPS hardware exception. Hosted CI and current-head Telegram-visible proof remain the explicit pending gates.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 24, 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: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

@clawsweeper

clawsweeper Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper status: review started.

I am starting a fresh review of this pull request: fix: carry reply metadata into runtime context This is item 1/1 in the current shard. Shard 0/1.

This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking.

Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted.

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

Labels

agents Agent runtime and tooling mantis: telegram-visible-proof Mantis should capture Telegram visible proof. merge-risk: 🚨 security-boundary 🚨 May affect sandboxing, authorization, credentials, or sensitive data. merge-risk: 🚨 session-state 🚨 May lose, corrupt, stale, or mis-associate session, agent, or context state. P2 Normal backlog priority with limited blast radius. proof: supplied External PR includes structured after-fix real behavior proof. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. size: L status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant