- Local groups assigned by task
- Communication to bounded neighbours
- Explicit escalation for critical information
Map dependencies
Represent tasks as nodes and required handoffs as edges. Use information needs rather than similar role names.
Choose a neighbour bound
Start with a small neighbourhood bound and vary it experimentally. Do not hide mandatory inputs to satisfy the limit.
Summarize and route
Include task_id, artifact_ref and the open question in messages. Avoid repeatedly sending the entire transcript to everyone.
Repair disconnection
At each checkpoint verify that critical outputs reached their consumers. Open a fallback connection if a bridge fails.
Role responsibilities
- Worker
- Share concise output contracts only with owners of connected tasks.
- Bridge
- Carry dependencies and interface changes across groups.
- Connectivity checker
- Check disconnected groups and missing critical information.
Shared memory contract
task_idneighbour_idsrequired_inputsartifact_refbridge_ownerdelivery_ack- Stop condition
- Finish when mandatory handoffs and output checks pass; bound waiting time under network partition.
- Primary failure mode
- A sparse graph can create information silos and unreachable verifiers. Fewer messages alone do not mean better coordination.