Skip to content

feat(todo): add model and provider fields for per-task model override#18865

Closed
zhuzeyu22 wants to merge 1 commit into
NousResearch:mainfrom
zhuzeyu22:main
Closed

feat(todo): add model and provider fields for per-task model override#18865
zhuzeyu22 wants to merge 1 commit into
NousResearch:mainfrom
zhuzeyu22:main

Conversation

@zhuzeyu22

Copy link
Copy Markdown

Summary

This PR adds the ability to specify different models and providers when creating subtasks in the todo system, enabling multi-model cross-validation scenarios.

Changes

tools/todo_tool.py

  • Added model and provider fields to TODO_SCHEMA for per-task override
  • Updated TodoStore._validate() to handle model/provider validation
  • Updated TodoStore.write() to support merge mode with model/provider fields

tools/delegate_tool.py

  • Added model and provider fields to DELEGATE_TASK_SCHEMA tasks items
  • Added _resolve_task_model() function to parse model/provider format
  • Updated _resolve_delegation_credentials() to accept per-task overrides
  • Per-task credential resolution loop in delegate_task()

tests/tools/test_todo_tool.py

  • Added TestModelProviderFields class with 5 test methods

Usage

Two formats are supported:

  1. Separate format (recommended):
todo(name=task1, prompt=..., model=gpt-4o, provider=openrouter)
  1. Pure model name with provider field:
todo(name=task2, prompt=..., model=gemini-2.5-flash, provider=openrouter)

Priority chain: task-level override → delegation config → parent agent inheritance

Testing

All 17 tests in test_todo_tool.py pass.

Closes #[issue-number]

- Add optional model and provider fields to todo task schema
- Add per-task model/provider override support in delegate_task
- Implement _resolve_task_model() for format parsing
- Update schema descriptions for clarity
- Add unit tests for model/provider field handling

This enables multi-model cross-validation by allowing different subagents to use different models.
@zhuzeyu22 zhuzeyu22 closed this May 2, 2026
@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/tools Tool registry, model_tools, toolsets tool/delegate Subagent delegation labels May 2, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Likely duplicate of #17756 — same per-task model/provider override feature for delegate_tool, more comprehensive implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/tools Tool registry, model_tools, toolsets P3 Low — cosmetic, nice to have tool/delegate Subagent delegation type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants