Skip to content

lm15 2.1.0 for R

Choose a tag to compare

@MaximeRivest MaximeRivest released this 05 Nov 16:46

No API change in R. response.incomplete already ended an R stream, and the realtime completion path already completed from final copies; a Responses stream cut by a content filter now finishes content_filter, as the complete call does.

Streams now yield what the provider said, all of it, once (MAP-20). Nothing is removed and no field changes meaning. Contract 77f22f4, 2,132 of 2,132 checks, the same in all six lm15 languages.

  • Parallel tool calls on the Codex subscription keep their inputs. The Codex backend sends the arguments of parallel calls only in each call's final response.output_item.done, never in pieces, and lm15 read only the pieces, so every call arrived with input {} (from stream and from complete alike). A stream's final copy of an item now completes whatever its pieces did not deliver: arguments, message text, a reasoning summary. A piece that contradicts the final copy is refused (StreamAssemblyError, code stream_assembly, with the part's index) instead of either value being chosen.
  • A streamed reasoning summary reads like the complete one: its parts are joined with a newline, as the complete call joins them. They used to run together (**First idea****Second idea**).
  • Gemini parallel calls sent one per chunk stay separate calls. gemini-2.5-pro and gemini-3-flash-preview send each parallel call in a chunk of its own. Every call landed in the same slot and their arguments ran into one unreadable input.

How this is checked from now on: the contract harness compares every OpenAI Responses stream with the stream's own final copy of the whole response (no hand-written answer needed), replays legal re-shapings of every recorded stream (fragments cut elsewhere, joined, re-chunked, dropped where a final copy restates them, contradicted), and every kind of event a recorded stream carries must be classified (mapping/stream-events.json). See lm15-contract/changes/2026-11-05-stream-final-copy.md.