v0.10.0 Release Notes¶
Release Date: 2026-08-31
Highlights¶
Team.ValidateAgentReferencescatches dangling agent references in a team's roster, orchestrator, and workflow steps
What's New¶
Team.ValidateAgentReferences¶
Team.ValidateAgentReferences(availableAgents []string) error checks every agent name a team references — its roster, its orchestrator, and any workflow step assigned directly to an agent (loop-assigned steps are skipped) — against a caller-supplied list of available agent names. It returns a joined error (via errors.Join) listing every unresolved reference, or nil if all references resolve.
It performs no filesystem or network access; callers supply the set of agent names actually available, typically derived from scanning agent spec files in the same directory as the team definition. This is meant to catch spec drift, e.g. an agent that was renamed or split but whose team.json roster, orchestrator, or workflow steps were never updated to match.
import mas "github.com/plexusone/multi-agent-spec/sdk/go"
team, err := mas.LoadTeamFromFile("specs/teams/dev-team.json")
if err != nil {
log.Fatal(err)
}
// availableAgents is derived from scanning the agent spec directory,
// e.g. after "backend" was split into "backend-api" and "backend-db"
// but team.json still says "backend".
availableAgents := []string{"architect", "backend-api", "backend-db", "frontend", "qa"}
if err := team.ValidateAgentReferences(availableAgents); err != nil {
log.Fatal(err)
// team "dev-team" roster references agent "backend" with no matching spec
// team "dev-team" workflow step "implement-backend" references agent "backend" with no matching spec
}
Breaking Changes¶
None.
Migration Guide¶
No migration required. This release is fully backward compatible with v0.9.0.
Full Changelog¶
See CHANGELOG for the complete list of changes.