Skip to content

Feat/engine vision wiring#201

Merged
cukas merged 3 commits into
mainfrom
feat/engine-vision-wiring
Jun 11, 2026
Merged

Feat/engine vision wiring#201
cukas merged 3 commits into
mainfrom
feat/engine-vision-wiring

Conversation

@cukas

@cukas cukas commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

No description provided.

cukas and others added 3 commits June 11, 2026 14:41
API-mode dispatch now sends real image parts to the Gemini endpoint
instead of dropping them with a no-vision notice. CLI-mode behavior is
unchanged: agy has no imageFlag, so the adapter keeps the text-label
fallback — verified working, the agentic CLI reads the image from disk
via its own view_file tool.

Vision audit across the roster (8x8/64x64 solid-color probes):
- kimi k2p6 (anthropic fmt): sees images correctly -> vision enabled in
  the user-level engine def (~/.agon/engines/, not in this repo)
- zai glm-5.1 coding plan: endpoint rejects image parts (HTTP 400,
  content.type allows ['text'] only) -> stays text-only
- minimax M3 coding plan: endpoint ACCEPTS image blocks but strips them
  before the model (identical input_tokens regardless of image; guessed
  green/navy/brown for solid red/blue/red) -> deliberately NOT wired,
  vision flag here would produce confident hallucinations

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
visionSupportNote(engine) in core: null when the engine sees images
somehow (API parts, imageFlag CLI dispatch, or agentic path-read like
agy); a hard warning for API-only engines (image is dropped) and a soft
one for CLI engines (path-only fallback). Surfaced in three places so
the user learns before the turn runs, not from a status line after:
- /img attach: warning right under 'Attached:'
- composer image chip: orange note, clipped to the budgeted row width
- submit: warning for freshly drag-dropped images

Review (6 engines): memo deps gained registry; chip note clipped so it
cannot wrap into unbudgeted layout rows; helper doc states why CLI
capability-without-imageFlag is intentional. The 'Fable brand regex'
blocking finding cited a nonexistent symbol — the real claude /model
parsing lives in agon-engines model_probe.py (follow-up there; likely
the cause of the recurring agy-probe-e2e live-test failure).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Generated app.tsx conflicted (both branches touch it); resolved by
recompiling from the auto-merged .kern sources, full build green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@cukas cukas merged commit 32f3064 into main Jun 11, 2026
2 checks passed
@cukas cukas deleted the feat/engine-vision-wiring branch June 11, 2026 13:27
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