pub async fn responses_parity(
handle: &PluginHandle,
smaller: Value,
larger: Value,
expect_delta: usize,
want: &(dyn Fn(&str) -> bool + Sync),
timeout: Duration,
) -> CellExpand description
2026-09-26: The Responses API sees the image, and sizes it the same.
/v1/responses has its own content vocabulary (input_image,
input_text) and its own lowering into the IR
(openai/responses_lowering.rs).
The assertion is a difference inside this one surface, not a comparison
with chat completions: the chat-completions legs turn thinking off, this
request asks for reasoning.effort “low”, so their prompts differ in
envelope as well as image. Two images whose vision-token counts differ by
a known amount both go through Responses; the envelope is the same twice,
so it cancels:
(tokens_b - tokens_a) == (vision_b - vision_a)Both must also answer correctly, which shows the pixels arrived rather than merely being counted. A 404 on the first request is a skip.