Goal
A permanent non-removable child of the orchestrator that researches the LLM provider landscape, surfaces cost-optimization recommendations, and maintains the _PROVIDER_MODELS catalog.
Responsibilities
- Run on a daily heartbeat.
- Watch for new model releases and pricing changes across known providers (Anthropic, OpenAI, Google, DeepSeek, others as they appear).
- Maintain
atn/runtime/provider_manager.py:_PROVIDER_MODELS (and atn/model_specs.py context-window / max-output-tokens entries) by proposing PRs or local edits.
- Recommend which agents in the local subtree should switch providers based on current usage and pricing — surfaces recommendations via
notify_parent, never acts unilaterally.
- Track subscription quotas (
SDKRateLimitEvent snapshots already aggregated per-provider) and flag near-limit conditions.
Out of scope
- Making provider switches itself. The strategist recommends; root or user decides.
- Implementing EIT — that's a separate issue this strategist will eventually consume.
Acceptance
- The strategist appears under the root in the agent tree on every startup, cannot be removed via the standard remove-agent path.
- A heartbeat run produces at least one structured recommendation in a recognizable format.
- The snapshot shows when the strategist last ran and a digest of its findings.
Goal
A permanent non-removable child of the orchestrator that researches the LLM provider landscape, surfaces cost-optimization recommendations, and maintains the
_PROVIDER_MODELScatalog.Responsibilities
atn/runtime/provider_manager.py:_PROVIDER_MODELS(andatn/model_specs.pycontext-window / max-output-tokens entries) by proposing PRs or local edits.notify_parent, never acts unilaterally.SDKRateLimitEventsnapshots already aggregated per-provider) and flag near-limit conditions.Out of scope
Acceptance