Skip to content

Repository files navigation

Agent Coordination Substrate

A specification for environment-mediated coordination between autonomous agents.

Three layers, one substrate: advisory signals shape attention without blocking; enforcement claims gate operations with mandatory mortality; induction generates artifacts when independent signals converge past a threshold. Together they provide the governance layer that multi-agent workspaces need — without centralized orchestration, without permanent locks, and without coupling agents to each other.


Why This Exists

Multiple AI agents working in the same workspace need coordination. Today the options are:

  • Direct messaging (A2A, MCP tool calls) — works for delegation, but creates coupling
  • Centralized orchestrators — single point of failure, doesn't scale to autonomous agents
  • Nothing — agents overwrite each other's work

The coordination substrate provides a third path: indirect coordination through the environment. Agents deposit signals and claims into shared zones. Other agents observe the environment and react. No agent needs to know about any other agent. Coordination emerges from the substrate, not from wiring.

This pattern draws from stigmergy — indirect coordination through environmental modification — but uses engineering-native vocabulary and adds an enforcement tier that pure stigmergic systems lack.


Three Layers

Layer Contract Primitives
Advisory Shapes attention. Never blocks. Signals, zones, pressure readouts
Enforcement Gates operations. Always mortal. Claims, quarantine zones, evidence gates, capacity reservations
Induction Generates artifacts from convergence. Requires advisory. Saturation specs, manifest proposals, compound synthesis

All layers share: actor identity, zone addressing, mortality semantics, multi-surface readout.

They differ: advisory primitives never block. Enforcement primitives may block — but always expire, and operators can always override. Induction observes advisory state and produces proposals — but never blocks and never auto-promotes.


Quick Comparison

Capability This spec SBP v0.2 MCP A2A
Advisory coordination (signals, zones)
Enforcement (claims, gates)
Induction (threshold → manifest) ✓ (separate layer)
Persistence (crash-safe) ✗ (in-memory) N/A N/A
Governance lifecycle (override, audit)
Operator cognition readout

See COMPARISON.md for the full breakdown with timeline evidence.


Getting Started

Try the reference implementation

cd reference/conformance-runner
go run ./cmd/conformance-runner ../../
# → 42 passed, 0 failed, 9 skipped

Build your own implementation

Follow the Adoption Guide — start with an advisory signal store (~100 lines), add enforcement when you need workspace claims.

Validate conformance

The conformance runner validates any SignalStore + ClaimStore implementation against the spec's expectations.


Reading Order

  1. docs/design-principles.md — The six properties every primitive must satisfy
  2. advisory/SPEC.md — Advisory layer normative specification
  3. enforcement/SPEC.md — Enforcement layer normative specification
  4. induction/SPEC.md — Induction layer normative specification (depends on advisory)
  5. transport/HTTP.md — HTTP transport binding (maps all layers to wire protocol)
  6. docs/theory.md — Intellectual lineage (stigmergy, distributed leases, resilience patterns)
  7. docs/adoption-guide.md — How to implement in your agent framework
  8. reference/ — Go reference implementation and conformance runner

Repository Structure

├── advisory/
│   ├── SPEC.md                    # Normative specification
│   ├── schemas/                   # JSON Schema (Draft 2020-12)
│   ├── conformance/               # Test expectations (YAML)
│   └── examples/                  # Example payloads
├── enforcement/
│   ├── SPEC.md                    # Normative specification
│   ├── schemas/                   # JSON Schema (Draft 2020-12)
│   ├── conformance/               # Test expectations (YAML)
│   └── examples/                  # Example payloads
├── induction/
│   ├── SPEC.md                    # Normative specification (depends on advisory)
│   ├── schemas/                   # JSON Schema (Draft 2020-12)
│   ├── conformance/               # Test expectations (YAML)
│   └── examples/                  # Example payloads
├── transport/
│   └── HTTP.md                    # HTTP transport binding (wire protocol)
├── docs/
│   ├── adoption-guide.md          # Implementation walkthrough
│   ├── design-principles.md       # Six mandatory properties
│   └── theory.md                  # Intellectual lineage
├── reference/
│   ├── go/                        # Reference implementation (Go, zero deps)
│   └── conformance-runner/        # Executable conformance validator
├── COMPARISON.md                  # vs. SBP, S-MADRL, MCP, A2A
├── CHANGELOG.md                   # Dated development history
├── CONTRIBUTING.md                # Contribution guidelines
└── LICENSE                        # Apache 2.0 + CC BY 4.0

Reference Implementation

The reference implementation is a minimal, standalone Go package that proves the spec is implementable. Zero external dependencies. Extracted from the BMO production runtime — the first and most complete implementation of this specification.

Key files:

  • interfaces.goSignalStore and ClaimStore (conformance targets)
  • signal_store.go — In-memory advisory store with mortality GC
  • claim_store.go — In-memory enforcement store with conflict detection
  • zone.go — Zone glob matching

Status

v0.1.0 — Initial publication. Advisory layer normative. Enforcement layer normative for claims; other enforcement primitives (quarantine zones, evidence gates, capacity reservations) are informative.


License


Contributing

Contributions welcome. See CONTRIBUTING.md for guidelines.

About

Specification for environment-mediated coordination between autonomous agents

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages