fix: enforce Responses state byte cap - #841
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
CI follow-up: the initial macOS failure was a Bun 1.3.14 Trace/BPT trap (the same bun.report signature also appeared on unrelated PR #844), and the initial Windows failure was an unrelated GUI polling timeout followed by cascading React act failures. Re-running only the failed jobs passed on both macOS and Windows. No production or test code change was needed for those runner flakes. |
|
This is a valuable, focused fix: it closes the oversized-single-entry escape hatch in continuation-state storage, with appropriately narrow semantics and regression coverage. It currently conflicts with dev, so please rebase it onto the latest dev. Before landing, it will also need an independent review from someone other than the author. We’re tracking this under #820 for the next cycle. |
Summary
Part of #820. This is the focused in-memory bound; it intentionally does not pull in #829 durable spill architecture.
Verification
bun test tests/responses-state.test.ts(43 pass)bun run typecheckbun run privacy:scanCompatibility
An entry that individually exceeds 64 MiB now becomes a normal
previous_response_idcache miss, so the client may need to resend history. Smaller stored chains and the existing disk snapshot limits are unchanged.