fix: complete C1 control-character (0x80-0x9f) coverage across terminal/log sinks#104362
fix: complete C1 control-character (0x80-0x9f) coverage across terminal/log sinks#104362lsr911 wants to merge 0 commit into
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 13, 2026, 10:04 PM ET / July 14, 2026, 02:04 UTC. Summary PR surface: Source +31, Tests +348. Total +379 across 25 files. Reproducibility: yes. at source level: current Review metrics: none identified. 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:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Rebase onto current Do we have a high-confidence way to reproduce the issue? Yes at source level: current Is this the best way to solve the issue? Mostly, but not on this head: a sink-wide completion that preserves each boundary’s existing action is maintainable, while the attachment portion must be moved to the current canonical materializer rather than preserving the obsolete resolver. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 4100d19f2a02. Label changesLabel justifications:
Evidence reviewedPR surface: Source +31, Tests +348. Total +379 across 25 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
Review history (7 earlier review cycles)
|
|
Addressed review feedback:
All tests pass (40/40 for hooks, 18/22 for config — the 4 config failures are pre-existing POSIX path issues on Windows). @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Real behavior proof — terminal output from updated head (80c1c29)hooks.agent-trust (C1 sanitizeHookConsoleValue)New test "strips C1 control characters from hook warning console messages" passes — verifies that a U+009B CSI introducer in the model field ( failover-error (C1 hasControlCharacter gate)model-selection-shared (C1 boundary truncation)config (C1 in logged failed path)The C1 test passes: U+009B CSI in @clawsweeper re-review |
80c1c29 to
2f1fe32
Compare
Rebased onto latest main + runtime C1 sanitization proofBranch rebased onto Real runtime proof — C1 byte-by-byte before/afterThe U+009B C1 CSI introducer is injected into model and summary strings. With the old C0/DEL-only check, the byte survives unchanged and reaches the terminal/log output. With the fix (C0/DEL + C1 range 0x80-0x9f), it is replaced with a space — verified by checking @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
C:/Program Files/Git/clawsweeper re-review |
|
@clawsweeper re-review |
|
@clawsweeper re-review |
|
🦞👀 Command router queued. I will update this comment with the next step. |
2f1fe32 to
4ab40c6
Compare
Summary
Consolidates C1 control-character (U+0080–U+009F) detection, stripping, escaping, replacement, or rejection across 25 terminal, command, diagnostic, attachment-name, and logging boundaries. Canonical PR superseding 8+ single-sink proposals.
Real behavior proof
Validates actual production
sanitizeForConsolefunction:Tests and validation
sanitizeForConsole/cc @openclaw/clawsweeper