fix(outbound): sanitize assistant reasoning before delivery#84441
fix(outbound): sanitize assistant reasoning before delivery#84441spinnakerbuilding-debug wants to merge 1 commit into
Conversation
|
Codex review: found issues before merge. Reviewed June 30, 2026, 4:22 PM ET / 20:22 UTC. Summary PR surface: Source +126, Tests +137. Total +263 across 6 files. Reproducibility: yes. The remaining broad bug is source-reproducible through channels such as Feishu that still lack a sanitizeText hook, and the Mantis Telegram screenshots show the PR base leaking a Reasoning block before the candidate strips it. Review metrics: 1 noteworthy metric.
Stored data model Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Use the canonical sanitizeAssistantVisibleText at a source-aware assistant-owned boundary, or finish per-channel sanitizeText coverage, while preserving reasoning-preview lanes and literal caller-owned sends. Do we have a high-confidence way to reproduce the issue? Yes. The remaining broad bug is source-reproducible through channels such as Feishu that still lack a sanitizeText hook, and the Mantis Telegram screenshots show the PR base leaking a Reasoning block before the candidate strips it. Is this the best way to solve the issue? No. This is a plausible mitigation, but the best fix should reuse the canonical sanitizer at a source-aware assistant-owned boundary or complete channel-level hooks instead of treating all generic payloads as assistant text. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 640258d7b31d. Label changesLabel justifications:
Evidence reviewedPR surface: Source +126, Tests +137. Total +263 across 6 files. View PR surface stats
Security concerns:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
ClawSweeper PR egg 🎁 Pass real behavior proof to wake the egg and unlock a hatchable treat. Where did the egg go?
|
Mantis Telegram Desktop ProofSummary: Mantis captured native Telegram Desktop before/after GIFs showing Telegram message delivery changed from the full literal Reasoning block to only the visible final text.
Motion-trimmed clips: |
|
This pull request has been automatically marked as stale due to inactivity. |
|
Closing due to inactivity. |




Summary
Validation
npx oxlint src/infra/outbound/assistant-delivery-sanitizer.ts src/infra/outbound/assistant-delivery-sanitizer.test.ts src/infra/outbound/deliver.ts src/infra/outbound/deliver.test.ts src/auto-reply/reply/reply-dispatcher.ts src/auto-reply/reply/reply-dispatcher.sanitizer.test.tsnpx vitest run src/infra/outbound/assistant-delivery-sanitizer.test.ts src/infra/outbound/deliver.test.ts src/auto-reply/reply/reply-dispatcher.sanitizer.test.ts— 96 tests passedCaveat: this is targeted regression coverage; the full repository suite was not run.