Skip to content

Preserve conversational diagrams, equations and generated images - #649

Merged
witbrock merged 4 commits into
mainfrom
codex/von-179b0cbd19e2c6f9
Sep 13, 2026
Merged

witbrock merged 4 commits into
mainfrom
codex/von-179b0cbd19e2c6f9

Conversation

@witbrock

@witbrock witbrock commented Sep 12, 2026 •

Copy link
Copy Markdown
Member

Assistant replies previously displayed Mermaid/TeX as source and could discard successful image-only provider output. This change renders source-based visuals and preserves ordered text/image results through the ordinary adaptive turn, private image store, display contract and conversation history. Follow-up edits receive retained original pixels and create a separate linked revision.

Native task: #V#task_agent_0a2baa3bd7a33ac6838d39f6179e05c7 — Deliver evolvable conversational diagrams, equations and generated images in Von.

  • Self-hosted Mermaid, KaTeX and DOMPurify provide responsive source/copy controls, safe rendering and local error fallbacks.
  • Profile-enabled OpenAI Responses image tools and representative MCP media use the existing storage and renderer path. No additional narration or renderer-selection model call is required.
  • Successful image-only output survives completion and history. Unknown generation outcomes do not automatically repeat paid requests. Original downloads retain owner checks.
  • The routed implementation guide documents profile enablement, the represented guidance release input and future format extensions. Existing attachment delivery remains compatible.

Validation:

  • Final candidate 288a60a7c267730ee1a6f5e8fc372e38759da979: 147 provider/content/display tests and four affected adaptive/actual /von/generate checks pass. Both required CI checks pass.
  • Actual Chromium presentation fixtures pass at 1360px desktop, 390px mobile and dark appearance: supplied diagram and label revision, equations/source/copy, currency/code/tables, malformed content, image order/aspect ratio, reload/duplicates and executable-content checks. Narrow diagrams also pass keyboard horizontal scrolling.
  • One ordinary real generation and one edit succeeded on 3e458a78bf86565949bdc6a6de23072b337a892c using the isolated authenticated Alice fixture. The image was a watercolour octopus with a blue notebook; the edit changed its notebook to green using the retained original. The edit returned no output text, and the image was displayed. Pixels were downloaded and visually inspected, and both checksums matched.
  • Provider-observed conversational model: OpenAI gpt-6-astra; requested native image model: gpt-image-2.5-sunburst. Provider items did not independently report an image-model ID. Generation and edit each used one model call, taking approximately 23 seconds each. Usage was retained; exact monetary cost was unavailable from the fixture pricing registry.
  • The final candidate then reopened those same two turns. History produces valid display contracts, preserves both original hashes and revision/source linkage, and renders in desktop/narrow views. Two further reloads introduced no duplicate or generation request. Keyboard original opening and downloads work. Alice retrieves both originals with HTTP200; Bob receives HTTP404. The applied visual-guidance concept and hash were verified on both provider turns.
  • Earlier 31 frontend tests and attachment integration checks remain applicable: frontend source is unchanged since that validation. Earlier transport, storage-failure and MCP-media evidence is retained with its original candidate revisions.

Real acceptance exposed two repaired defects: response trace redaction treated union-valued JSON Schema type fields as media discriminators, and empty trailing provider text created invalid display blocks. Regression tests first reproduced both failures and then passed. The final empty-block repair changes display projection only; history/read-back and route fixtures validate it without another paid request. The earlier failed request lost its provider receipt before delivery, so its cost/output remains unknown; it was not automatically retried.

Evidence: .run/visuals649-acceptance-11a33aa2/ in the task checkout, including provider summaries, private asset/provenance receipts, final browser screenshots/read-back and test logs. Previous evidence remains in .run/visuals649-integration-dacf8990/ and the earlier task runs. The controller retains the task execution archive.

Merge decision changes — ready. The ordinary generation/edit acceptance gate is now met, final history/display and actor checks pass, and no demonstrated material regression remains. Candidate frozen at the SHA above.

No public or Mac deployment is requested. Production credentials, model settings and represented guidance are unchanged. Full provider parity, physical-device testing and the documented future multimedia roadmap are outside this delivery.

@witbrock
witbrock force-pushed the codex/von-179b0cbd19e2c6f9 branch from e60a798 to 5763941 Compare September 13, 2026 19:31
@witbrock
witbrock merged commit 5ff2125 into main Sep 13, 2026
2 checks passed
@witbrock
witbrock deleted the codex/von-179b0cbd19e2c6f9 branch September 13, 2026 21:31
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