From dispatch finding (task qa-wave-2026072920):
- F-258 — A collection GET whose
@computed getter throws mid-stream returns HTTP 200 with Error.toString()/a stack trace as the response body: the status is flushed before the getter runs, so the client sees success plus unparseable JSON, and one poisoned record corrupts the entire response. The single-record GET of that same record degrades correctly (clean 500 + JSON error body), which localizes this to the streaming-collection path. Same 200-wrapping-an-error family as F-186.2.
From dispatch finding (task
qa-wave-2026072920):@computedgetter throws mid-stream returns HTTP 200 withError.toString()/a stack trace as the response body: the status is flushed before the getter runs, so the client sees success plus unparseable JSON, and one poisoned record corrupts the entire response. The single-record GET of that same record degrades correctly (clean 500 + JSON error body), which localizes this to the streaming-collection path. Same 200-wrapping-an-error family as F-186.2.