mirror of
https://github.com/stablyai/orca.git
synced 2026-10-09 00:02:39 +00:00
* perf: avoid rescanning partial notebook output frames * perf(notebook): stream bridge frames and skip the unused size accounting The reader buffered every record of a chunk before delivering the first one, and asked the framer for byte accounting it can never use. An unbounded line limit cannot reject, so the per-segment `Buffer.byteLength` and the rejection-prefix retention were pure overhead for the notebook and Codex readers; both are now skipped once, behind a hoisted check. Frames are handed to the consumer as each line completes, so the first output of a chunk paints without waiting for the last. The dropped buffer only ever preserved a trailing partial record across a consumer throw, which cannot help: that throw leaves the stdout 'data' listener and takes main down with it. Rejections are no longer discarded either — the bridge keeps fd 1 to itself, so an unreadable line means the frame channel is damaged and now says so. Tests move into notebook-kernel.test.ts beside the reader's existing coverage, and add the never-terminated record and a guard that no record bytes are measured when no limit applies. Co-authored-by: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>