Fix Codex raw image generation media projection#88191
Conversation
|
Codex review: needs maintainer review before merge. Reviewed May 29, 2026, 9:47 PM ET / 01:47 UTC. Summary PR surface: Source +114, Tests +188. Total +302 across 4 files. Reproducibility: yes. for the source path: current main ignores raw Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Mantis proof suggestion Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land this focused Codex app-server fix after maintainer review and required CI/live-proof acceptance, then close the linked liveness issue as fixed. Do we have a high-confidence way to reproduce the issue? Yes for the source path: current main ignores raw Is this the best way to solve the issue? Yes. Persisting raw image-generation results through existing image-generation and media-store helpers, then draining queued projection before final result assembly, is a narrow Codex app-server fix that avoids changing timeout policy. AGENTS.md: found and applied where relevant. Codex review notes: model gpt-5.5, reasoning high; reviewed against 75de853c3791. Label changesLabel justifications:
Evidence reviewedPR surface: Source +114, Tests +188. Total +302 across 4 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Summary
image_generation_call.resultpayloads into managed OpenClaw media artifacts.Fixes #87948.
Verification
.agents/skills/autoreview/scripts/autoreview --mode localnode scripts/run-vitest.mjs extensions/codex/src/app-server/event-projector.test.tsnode scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.turn-watches.test.tsnode scripts/run-vitest.mjs extensions/codex/src/app-server/event-projector.test.ts extensions/codex/src/app-server/run-attempt.turn-watches.test.tsgit diff --checktelegramcredential and Codex auth: produced a Telegramphotoreply from a CodeximageGenerationturn.Real behavior proof
Behavior addressed: Codex native image generation results are delivered to Telegram as managed OpenClaw media instead of being dropped from the final app-server projection.
Real environment tested: Local source checkout on macOS, local OpenClaw gateway, real Telegram bot/group credential leased from Convex kind
telegram, and live Codex app-server auth.Exact steps or command run after this patch: A temporary no-Docker live harness started the local gateway, sent a Telegram canary, sent a Codex image-generation prompt, and waited for a Telegram media reply.
Evidence after fix: The completed Codex item types included
imageGeneration, and the Telegram reply containedmediaKinds:["photo"].Observed result after fix: The OpenClaw Telegram bot replied to the image-generation request with a real photo attachment.
What was not tested: Remote Crabbox Hetzner proof is blocked by coordinator-side Hetzner API authentication; Blacksmith delegated proof cannot access the local Convex/Codex auth env files needed for this live lane.