chore(release): v1.4.0 — fusion models - #788
Merged
Merged
Conversation
Headline: fusion models (#771) — pair a text-only reasoning model with a vision-capable one so it can read screenshots, diagrams and code images. `deepseek-v4-pro` rejects an image content block outright, so a pasted screenshot used to end the turn; a fusion model describes the image with the second model first and hands the base model text. Verified end to end on Terminal-Bench 2.1's `code-from-image` — transcribe handwritten pseudocode from a PNG and reproduce its output — with `deepseek-v4-flash` + `openai:gpt-5.6-luna` (#787). The base model alone returns a 400 on the same image, so the pass is attributable to the fusion path rather than the base coping. Also in 1.4.0: GPT-5.6 Sol/Terra/Luna (#773); groq, cerebras, baseten and xai take the provider registry to 30 (#784); `/mode` becomes `/permissions` with a three-level picker (#768); `AskUserQuestion` renders a real picker instead of returning JSON to the model (#774); the OpenAI provider picks its wire protocol from the model rather than the auth mode (#783); cached prompt tokens bill at the cache rate (#785, #786); headless runs stop reporting a cut-short run as success (#777–#782). Version bumped in all five spots (pyproject, install.sh INSTALLER_VERSION, gatewayClient CLAWCODEX_VERSION, src/__init__.py fallback, uv.lock). CHANGELOG `[Unreleased]` covered only through #773 and was backfilled with #774–#787; PR citations added to the pre-existing entries so coverage is checkable. #766 is docs-only and deliberately uncited. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Test Results 1 files 1 suites 8m 3s ⏱️ Results for commit 9317891. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Headline: fusion models
Several strong reasoning models cannot see images at all.
deepseek-v4-prorejects an image content block outright (400 unknown variant \image_url`), so pasting a screenshot,@-mentioning one, or lettingRead` return one ended the turn.A fusion model pairs that base with a second, vision-capable model: every image is described by the vision model first, and the base model reads the description.
/fusion create <name> <base> <vision>saves one; it then behaves like a normal model in the/modelpicker, as--model <name>, in-p, and across restarts (#771).Verified end to end on Terminal-Bench 2.1's
code-from-image— transcribe handwritten pseudocode from a PNG and reproduce its output — withdeepseek-v4-flash+openai:gpt-5.6-luna(#787). The base model alone returns a 400 on the same image, so the pass is attributable to the fusion path rather than the base coping.Also in 1.4.0
/modebecomes/permissions, three-level picker, Full Access by default (feat(permissions): /mode becomes /permissions, 3-level picker, Full Access by default #768)AskUserQuestionrenders a real picker instead of returning JSON to the model (feat: make AskUserQuestion actually ask #774)gpt-5.6-lunausable on an API key at all (fix(openai): choose the wire protocol by model, not by auth mode #783)Release mechanics
Version bumped in all five spots —
pyproject.toml,install.shINSTALLER_VERSION,ui-tui/src/gatewayClient.tsCLAWCODEX_VERSION, thesrc/__init__.pyfallback, anduv.lock. (ui-tui/package.jsonstays0.0.1by convention.)[Unreleased]covered only through #773 — everything from #774 on was missing, so it was backfilled. PR citations were added to the pre-existing entries so coverage is checkable againstgit log; #766 is docs-only and deliberately uncited.News synced across README (exactly 10 items),
docs/NEWS.md, anddocs/i18n/README_ZH.md, with the EN and ZH date lists diffed rather than just counted.Full suite: 9587 passed, 0 failed.
Website changes (site.js, package.json, test assertion,
public/install.shsync) land separately inSingula-Inc/clawcodex-website— 337 tests passing there.🤖 Generated with Claude Code