feat(research-director): optional dedicated model for the director#27
Merged
Conversation
…model) The director is a meta-reasoning task (diagnose plateau, prescribe strategy), so it benefits from a strong reasoning model rather than whatever the run roster samples. Add prompt.research_director_model: when set, the director uses ONLY that model, cloning connection settings (api_base/key/temperature/...) from the run roster; None keeps current behavior (use the run roster). +2 tests.
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.
Follow-up to #26. The research director is a meta-reasoning task — diagnose why the population is plateauing and prescribe a strategy. Right now it samples from the run's roster (which may include fast/coding models), so directive quality is luck-of-the-draw.
This adds
prompt.research_director_model: when set, the director uses only that model (e.g. a strong reasoning model likedeepseek/deepseek-v4-pro), cloning connection settings (api_base / key / temperature / timeout / …) from the run roster's first model.Nonekeeps current behavior (use the run roster). Selection is isolated in a small_director_models()helper; +2 hermetic tests (dedicated-model used + inherits connection; default falls back to roster).Holding merge until the in-flight director A/B confirms the director is worth pursuing — opening now so the option is reviewable/ready. If the A/B shows uplift, this lets us immediately give the director its best reasoning model.
🤖 Generated with Claude Code