Skip to content

feat(vision): honor current preset routes#964

Merged
huangzesen merged 2 commits into
mainfrom
fix/vision-every-adapter-dev3-latest-20260716
Jul 16, 2026
Merged

feat(vision): honor current preset routes#964
huangzesen merged 2 commits into
mainfrom
fix/vision-every-adapter-dev3-latest-20260716

Conversation

@huangzesen

@huangzesen huangzesen commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • make direct vision follow the current preset's exact route: provider, model, endpoint, explicit credential, supported headers, and effective wire
  • fail closed to vision(action="manual") when the current route is unsupported or lacks an explicit current identity; never switch provider/model/account, use a default OAuth identity, or fall through to SDK environment credentials
  • support the current OpenAI/Anthropic/Gemini/MiMo/Codex routes, compatible aliases, and explicit hidden local route; remove the retired automatic MiniMax/Zhipu vision-service implementations
  • ship provider-neutral read-only manual guidance and sanitized identity/error surfaces
  • document the product rule that missing/blank/whitespace/auto wire selection is automatic (official Responses only when explicitly preferred with no custom base; otherwise Chat), while unknown nonblank/non-string selectors remain manual-only

Supersedes #957.

Companion gate

This is the kernel companion to TUI PR #664:

The TUI and kernel PRs describe one product contract and should be reviewed/landed together. This PR does not authorize a live refresh, install, release, or deployment.

Validation

Latest-main base at push: 2d415fda9c3ef48c5c4fed61dfacf87fb632d6e0 (#962 + #963).

  • 151 passed — vision capability + preset manifest + package/manual + agent capability integration
  • 78 passed — vision services and canonical wire behavior
  • 160 passed — tool glossary
  • 20 passed — latest-main shell and Task Card handoff compatibility
  • Ruff and Python compile checks pass
  • vision manual validator and both Anatomy relationship checks pass
  • fresh-interpreter sentries cover OpenAI/Anthropic/Gemini/MiMo factory + direct-constructor rejection of missing/blank/non-string credentials before provider/SDK import, with valid credentials preserved byte-for-byte
  • staged candidate was clean: 22 paths, 0 unstaged, 0 untracked, 0 unmerged; exact deletes are only the retired services/vision/minimax.py and services/vision/zhipu.py

External gate: an isolated wheel build would download setuptools>=68, so no network/install was performed. Package-data/resource coverage is verified statically and by tests.

Route direct vision only through the current preset's provider, model, endpoint, credential, headers, and supported wire. Keep unsupported routes explicit/manual, remove the retired automatic MiniMax/Zhipu services, and ship provider-neutral manual guidance plus owning regressions.
Document that OpenRouter/custom first attempt the current OpenAI-compatible route, then return a sanitized tool failure pointing to manual alternatives without implicit provider/model/MCP fallback.
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