Context
Once the single-file markdown format for sub-agents lands (#647) and multi-model provider architecture exists (#648), the natural next step is letting each sub-agent declare its preferred model inside its frontmatter. Example:
---
name: summarizer
description: Summarize documents and content concisely
tools: [file_read]
model: local-qwen-small # or "anthropic/claude-haiku"
timeoutSeconds: 60
---
You are a summarization specialist...
Today the only knob is modelRole: Compaction | Main | Fallback, which routes through the three hard-coded roles in NetclawChatClientProvider. That's too coarse: "Compaction" doesn't mean anything semantic about which model — it means "whatever we happened to wire to the Compaction role". Once there are multiple models in play, agents should be able to name their preferred provider/model directly.
Blocked on
Also gated on
Proposal
Add an optional model: field to sub-agent frontmatter. Fall back to modelRole when absent (backward compatible). When both are set, model wins.
Schema:
Related
Context
Once the single-file markdown format for sub-agents lands (#647) and multi-model provider architecture exists (#648), the natural next step is letting each sub-agent declare its preferred model inside its frontmatter. Example:
Today the only knob is
modelRole: Compaction | Main | Fallback, which routes through the three hard-coded roles inNetclawChatClientProvider. That's too coarse: "Compaction" doesn't mean anything semantic about which model — it means "whatever we happened to wire to the Compaction role". Once there are multiple models in play, agents should be able to name their preferred provider/model directly.Blocked on
Also gated on
model:field lives in frontmatter, which this issue assumes as the authoring surface.Proposal
Add an optional
model:field to sub-agent frontmatter. Fall back tomodelRolewhen absent (backward compatible). When both are set,modelwins.Schema:
model: string— a name that resolves to a concrete chat client via the registry from feat(providers): concurrent multi-model / multi-provider architecture for per-role and per-agent routing #648Related