## Summary
Route four gateway models by builtin profile, send current-turn images, and download image links on the server with SSRF checks.
MiniMax stays on its own endpoint as a reserve, because fallbacks can only change the model name.
## Test plan
- [x] local `make test` SELF on product tree `58e4e14` (receipt `8225fe2d744ba245`); later commits are task-card only
- [x] independent read-only review of that product tree: no correctness or security findings
- [ ] CI `test`, `test-pg`, and `svc-realcombo` on head `f938b3ca97d80f015b62e5001d96446c55d8e968`
- [ ] merge only that head after those three jobs succeed
Task card: `.task/feature-four-model-vision.md`
Backend pin: `6532fad4d5adf2f3ea37a3d91ba4e1464e356f28`
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-four-model-vision.md; R0=803a73e5d6621f7b5aac792f81f0fd449bd00be2.
Impact: task metadata only; the feature workspace starts at 803a73e5d6.
Refs: .task/feature-four-model-vision.md
Why: Chat, lightweight, fallback and vision settings need a seed path, and the backend now sends current-turn images only to models declared capable of seeing them.
Evidence: The backend change is cfde38d. The seed test covers fallback and vision settings. A local image conversation on each builtin profile returned the pictured content from the expected model, and removing the chat model from the capable list switched that turn to the vision model.
Impact: New runs can use the four builtin profiles and image input. Secrets stay in the ignored env file. The live 8788 process is unchanged.
Refs: .task/feature-four-model-vision.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Context assembly, ingest and runtime now depend on the vision package, and the dependency ratchet rejects edges that are not recorded.
Evidence: scripts/lint-boundaries.sh reports architecture ok with 88 edges.
Impact: The three new edges are the allowed image path. No other package gains a dependency.
Refs: .task/feature-four-model-vision.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The passing make test receipt and the four-profile image check need to stay on the task card.
Evidence: make test exit 0, SELF receipt 9519445485c2b5883acb1cd0a8e27c62c1d0e6a40a4d5e2686d6f8cf9733415d, tested head f48f344.
Impact: Task metadata only. Review and merge remain unauthorized.
Refs: .task/feature-four-model-vision.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The dev service is an rdm build, so startup skipped model seeding and kept the old MiniMax chat model. Later starts need the saved env file applied even without an admin key command.
Evidence: seed and rdm launcher tests passed. The live dev database now uses the four-model chat route and keeps the original MiniMax endpoint as reserve.
Impact: Restart of a service with envfile set rewrites system model settings. HTTP seeding is unchanged for builds that can mint an admin key. MiniMax is stored separately because fallbacks cannot switch gateways.
Refs: .task/feature-four-model-vision.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=692735e91d6a9ab07ddd3686feb60a56b270728a.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the merge onto current main changed the candidate, so the earlier local test no longer covers this head.
Evidence: SELF make test exit 0; receipt 8225fe2d744ba24554bd9af6d6faf08585e34f89beeb6a6decd97190339a410e; before=58e4e1498bbace37e4937a874430e342e6ff7d27.
Impact: task metadata only.
Refs: .task/feature-four-model-vision.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=ff3a562e50375ed592126c36ed2c76327517688a.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the merge candidate needs a reviewer, base, and head before it can be pushed for CI.
Evidence: independent read-only review of 58e4e14 found no correctness or security issues; b79b4d9 has no non-card diff; task-sync changed=0 against ff3a562, receipt ae2c8f553111ec58179197b85971f25073a98bb948437c9a1ff96ea41adebfea.
Impact: task metadata only.
Refs: .task/feature-four-model-vision.md
weichen
merged commit 4ba5c40a60 into main2026-10-15 06:38:24 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Route four gateway models by builtin profile, send current-turn images, and download image links on the server with SSRF checks.
MiniMax stays on its own endpoint as a reserve, because fallbacks can only change the model name.
Test plan
make testSELF on product tree58e4e14(receipt8225fe2d744ba245); later commits are task-card onlytest,test-pg, andsvc-realcomboon headf938b3ca97d80f015b62e5001d96446c55d8e968Task card:
.task/feature-four-model-vision.mdBackend pin:
6532fad4d5adf2f3ea37a3d91ba4e1464e356f28