fix(fetch): a page cut at the cap says it was cut #436
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!436
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/a-truncated-page-says-so"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
io.LimitReader stopped at the cap and returned what it had, so an oversize page
came back looking whole. The model answered from a document whose ending it
never saw, with ordinary confidence, which is the instrument-answers-instead-of-
failing shape rather than a rough edge.
The read now takes one byte past the cap, which is what makes a page that fits
distinguishable from one that does not. fetchAttachment already does this for
the same reason.
Truncating and saying so rather than refusing. A page is usually front-loaded,
so refusing wastes a request that succeeded, where an attachment is usually
wanted whole and refusing is right there. Both are honest and this one is more
useful. Reversible if it reads wrong.
Cutting on a byte offset can split a rune, so the seam is repaired rather than
handed to the model broken. That is a second defect the obvious fix introduces
and a test names it.
Not touching the disclosure footer. A truncated fetch did return data, so a
success glyph is accurate, and a fourth state would be scope creep into 385's
vocabulary. The marker is in the result text where the model reads it and can
tell the member. I dropped that criterion from 435 rather than quietly not
meeting it.
Mutation checked by forcing the untruncated path, where both new tests fail.
closes #435
Co-authored-by: Kai Siren coilysiren@gmail.com
Co-authored-by: Claude noreply@anthropic.com
f622fc16ff8d7feba0d4