Skip to content

Preserve ordered message content through the shared Runtime - #12

Merged
SaladDay merged 3 commits into
mainfrom
codex/message-image-input
Sep 22, 2026
Merged

SaladDay merged 3 commits into
mainfrom
codex/message-image-input

Conversation

@SaladDay

@SaladDay SaladDay commented Sep 22, 2026 •

Copy link
Copy Markdown
Collaborator

User message content was flattened into a scalar prompt before execution. This change carries ordered messages through initial, prepared and active Runtime input. Adapters translate native content and aggregate consumption receipts. Codex and Claude SDK qualify inline PNG/JPEG on environment:none; text-only adapters reject images explicitly.

Public persistence and Items retain content order and image references. Image admission checks apply only to image-bearing operations, preserving ordinary text queueing. Private daemon wire 0.4.0 and Claude bridge protocol 2 replace the obsolete string interface without a compatibility fallback.

Validation:

  • Fixed OpenAI SDK 3.13.0 and raw HTTP through Core, PostgreSQL, daemon and real Kimi K3: Codex 59.416s and Claude 79.525s. Covers initial and active distinct images, exact Items, receipts/idempotency, live SSE ordering, tenant isolation, cancellation and cold daemon continuation.
  • Real MiniMax text, active input, cancellation and recovery regression passed in 48.963s.
  • Server make -o check-web check and local Node 22/pnpm 10.30.3 make check-web passed, including 73 browser cases. Full server make check was attempted and stopped at missing Chrome. Shared input race checks, deterministic PostgreSQL cancellation/deletion regression and OpenAPI generation passed. No SQL query/schema changes.
  • Secret audit found no model-key exposure outside private 0600 native configuration. Server and local source identity was checked.

Workspace images, remote URLs, MiniMax images and complete upstream image/error semantics remain gaps. Live visual fixtures were PNG; JPEG has deterministic coverage. This is bounded qualification, not full protocol compatibility. Coverage and evidence are in contracts/agents-api/message-input.md.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

@SaladDay
SaladDay marked this pull request as ready for review September 22, 2026 04:36
@SaladDay
SaladDay merged commit 37a2923 into main Sep 22, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant