fix(telegram): keep raw update log truncation UTF-16 safe#101300
fix(telegram): keep raw update log truncation UTF-16 safe#101300Alix-007 wants to merge 1 commit into
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 6, 2026, 11:50 PM ET / 03:50 UTC. Summary PR surface: Source +2, Tests +15. Total +17 across 2 files. Reproducibility: yes. source inspection gives a high-confidence reproduction path: current main uses raw UTF-16 slices at the per-field cap and at the final raw-update preview cap, both of which can split surrogate pairs when an emoji straddles the boundary. I did not run the focused test locally because this review is read-only. Review metrics: none identified. Stored data model 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: Use truncateUtf16Safe for every truncation in Telegram raw update logging, including the final preview cap, keep the existing redaction and bounds unchanged, and attach redacted real formatter/log proof. Do we have a high-confidence way to reproduce the issue? Yes, source inspection gives a high-confidence reproduction path: current main uses raw UTF-16 slices at the per-field cap and at the final raw-update preview cap, both of which can split surrogate pairs when an emoji straddles the boundary. I did not run the focused test locally because this review is read-only. Is this the best way to solve the issue? No, not yet. Replacing the per-field slice is the right helper choice, but the best fix should also apply the same helper to the final raw-update preview cap in bot-core so the logging path has one invariant. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 0fd69dc3d2b8. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +2, Tests +15. Total +17 across 2 files. View PR surface stats
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
|
a8c39b4 to
7f5c6ca
Compare
7f5c6ca to
79027a3
Compare
|
Closing as superseded by the canonical UTF-16 boundary consolidation: The relevant fix from this PR was incorporated into the canonical change with @Alix-007 preserved as co-author. The landed patch consolidates the equivalent owner-local truncation boundaries, with exact changed gates, 142 focused tests, and clean exact-head CI. |
Summary
Linked context
Real behavior proof (required for external PRs)
Tests and validation
Risk checklist
Did user-visible behavior change? (
Yes/No)Yes. Malformed truncated text is now avoided while preserving existing caps and truncation markers.
Did config, environment, or migration behavior change? (
Yes/No)No.
Did security, auth, secrets, network, or tool execution behavior change? (
Yes/No)No.
What is the highest-risk area?
telegram raw update log redaction/truncation formatting.
How is that risk mitigated?
The patch is limited to the existing truncation boundary and is covered by focused regression proof above.
Current review state
What is the next action?
ClawSweeper re-review and maintainer review after this proof/body refresh.
What is still waiting on author, maintainer, CI, or external proof?
Nothing is waiting on the author after this proof update; waiting on CI/ClawSweeper/maintainer review.
Which bot or reviewer comments were addressed?
Addressed ClawSweeper's needs-proof feedback by using exact Real behavior proof field labels and adding copied terminal output from the current PR head.