Commit b567494
fix: [AI-450] address code review — typed
Addresses all findings from multi-model code review:
- CRITICAL: Replace regex-based error detection with typed `StaleFileError` class
that extends `Error` with a `filePath` property. Use `instanceof` check in
processor instead of brittle string parsing.
- MAJOR: Add 50KB size limit before auto-reading stale files to prevent OOM and
token explosion. Files over limit get a message to use the Read tool instead.
- MAJOR: Handle missing files (deleted between error and re-read) gracefully.
- MINOR: Use `String(value.error ?? "Unknown error")` for null-safe stringification.
- MINOR: Use markdown code fences instead of `<file>` XML tags to prevent
prompt injection via unescaped content.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>StaleFileError, bounded reads, safe stringification1 parent d4aa51d commit b567494
2 files changed
Lines changed: 34 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
6 | 17 | | |
7 | 18 | | |
8 | 19 | | |
| |||
63 | 74 | | |
64 | 75 | | |
65 | 76 | | |
66 | | - | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
67 | 80 | | |
68 | 81 | | |
| 82 | + | |
69 | 83 | | |
70 | 84 | | |
71 | 85 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
216 | 217 | | |
217 | 218 | | |
218 | 219 | | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
225 | 223 | | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
230 | 238 | | |
231 | 239 | | |
232 | 240 | | |
| |||
0 commit comments