test(fetch): pin that a cut page and a whole one share one receipt #455
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!455
Loading…
Reference in a new issue
No description provided.
Delete branch "qa/pin-the-truncated-receipt"
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?
#435 shipped two of its three acceptance criteria. The third — "the disclosure footer does not report a truncated fetch as a plain success, or the receipt repeats the lie" — did not, and it is the one the issue author wrote because they expected it to be missed.
outcomeOfclassifies on two things: whether the call errored, and whether the text is blank. A truncated fetch is neither, so it lands onToolOutcomeOKbeside every other success.The model is told the page was cut. The member is not. That is the original defect moved one component along rather than closed, and the issue's own text predicts it: "a fetch that silently truncated shows ✅ in the receipt, which now tells a member the call returned data. It did, and not all of it."
Characterization, not a demand
The fix is a fourth
ToolOutcome— a call that worked and returned less than everything. That touches the glyph vocabulary two surfaces share, whiche5c9163has just been normalising, so it belongs in one decision rather than a fetch-specific patch. Making this test assert the desired behaviour would reddenmainfor a design question nobody has answered.So it pins today's behaviour and says so, and it flips the moment the gap closes. Verified rather than assumed — teaching
outcomeOfto classify a truncated result separately:The half that did ship is pinned beside it, so a regression in either is visible in one file rather than one of them quietly reverting while the other holds.
Why this shape keeps coming up
Four closed issues checked this hour had partly-unmet criteria — #432, #435, #413 and #417. Every gap sat in the seam between two components while the test sat inside one.
footerBudgetis correct and the send truncates;fetchTextis correct and the receipt does not read it;assertedHistorycopies the field it writes and shares the array behind another.Each shipped fix was right about its own component. This test is deliberately placed across the seam for that reason.
Test-only. No production change.
Refs #435