Conversation
tt-a1i
left a comment
There was a problem hiding this comment.
Reviewed at 2192f52.
The bounded image-evidence projection is a good direction: metadata is capped and sanitized, base64 payloads do not reach the browser, and snapshot/reducer coverage is present. Two acceptance issues remain:
-
The default collapsed tool row still does not tell the user that the result contains an image. Image count and truncation details live only inside the closed details body, while the summary shows only the tool name and success state. The browser test expands the row before asserting, which masks this default-state gap. Please surface a compact image indicator or count in the collapsed summary.
-
The Playwright test injects an already-projected snapshot containing images and uses only an empty SSE heartbeat. It therefore does not exercise image tool result -> projectMessage -> tool_execution_end SSE -> UI -> reload. Please add an isolated image fixture that covers this full browser path and verifies that no image payload leaks into serialized HTML or snapshot transport.
Local validation: bun run check passed; 21 focused protocol/evidence Node tests and 55 focused UI tests passed. Hosted CI is green.
Problem
Closes #471.
An image-only tool result can render as "No output" in the Web transcript, hiding that the tool returned an image. Mixed results and specialized tool cards can also lose that evidence after snapshot reload.
Value
Users can distinguish an unavailable image preview from an empty result or a failed tool call, including when reviewing a saved Session.
Approach
Preserve bounded image metadata and content-omission counts in the existing Web projection. Tool cards display the image count, available MIME type and encoded byte estimate, and an explicit preview-unavailable notice. Text remains visible in mixed results, and
isErrorindependently determines failure status. Inspect at most 64 content parts and retain at most 16 image metadata entries; no Base64 payload is sent to the browser. Rebuild the committed Web assets.Validation
bun run checkandgit diff --check: passed.bun run teston Windows / Node 24.14.0: 1,515 passed, 2 failed, 10 skipped. The failures were the existinggit-info/process.test.ts1-second process timeout andworkflows/execute.e2e.test.tsdetached-workflow settlement timeout, also seen on the audit baseline. The runner stopped before its later Windows serial and Vitest partitions. Full local suite success is not claimed.Impact