Commit 9bd0b9f
authored
CL-8979: page large read_file responses through to the end (#1180)
* test(read-file): prove large-file paging reaches the end
Deep pages past the scan ceiling, path+offset chains, blob resume without re-scan, overlong-line windowing, truncation pass-through, loop-detector and registry pins. All five paging tests fail before the fix; pins hold.
* feat(read-file): page large read_file responses through to the end
Large-file pages used to dead-end: the scan ceiling fired while unread
content remained, overlong lines were grep-only, and the 10k re-cut
mangled footer-bearing pages. Resume now seeks to the stored point,
pages carry both offset and cursor continuations, and footer-bearing
pages pass the truncation layer untouched.
* style(read-file): format paging green and its tests
* refactor(read-file): resume large reads by same-path offset only
Drop the dual footer and live-cursor reuse so continuation is a single stateless path+offset notice, matching the single-way resume direction. Pre-existing cursor tests become same-URI+offset chains; the truncation 10k exemption keys on the offset footer only. Paging mechanics untouched.
* fix(read-file): window scan-capped lines so no tail is silently lost
A single line past the 8MB scan ceiling was truncated to 2000 chars under a continuation footer whose offset skipped the unshown middle. The scan-capped remainder is now windowed like smaller overlong lines, so every scanned byte reassembles through offset continuation.
* test(subagent): drop stop test that cannot tell paging from a loop
evaluateSubAgentStop returns null on any tool turn, so the chunked-reads case pinned nothing. Chunk keying stays covered in thrash.test.ts and null-on-tools in the keeps-running test.
* fix(read-file): keep Use offset= through the reactor 10k cap
Footer-bearing read_file pages already skip the leisure 10k cut so
the 50KB page and its continuation footer reach the reactor. The
always-on size-cap then sliced the first 10k of the body and dropped
Use offset=. Skip that cap for the same pages leisure skips.
Dead offsets on files larger than the 8MB scan ceiling now report
beyond-EOF with the path and valid range. Skip bytes still do not
count against the scan ceiling.1 parent eb12f0a commit 9bd0b9f
9 files changed
Lines changed: 516 additions & 23 deletions
File tree
- src
- agent
- plugins
- vendor
- intx-inference
- src/transforms
- intx-tools-posix/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
128 | 130 | | |
129 | 131 | | |
130 | 132 | | |
| |||
0 commit comments