The agentic fabric ยท pattern
Why the agents coordinate this way.
For: developers, reviewers, and the curious
A ring of agents writing to one database could easily become chaos โ two of them editing the same record, or a tangle of direct messages no one can follow. Cardinal avoids that with two simple rules and one shared medium. This page is the why; for the clockwork that drives it, see Cadence.
The two rules
Almost everything about how the agents behave follows from two rules. They are deliberately strict, because strictness is what keeps several agents from collapsing into one indistinct mush.
1 ยท One writer per row
Every kind of record has exactly one agent allowed to write it. The Chief of Staff owns briefs and engagement decisions; the Solution Architect owns architecture decisions; the Steward owns the audit attestations. No two agents ever fight over the same row โ ownership is decided up front.
2 ยท No direct agent-to-agent messaging
Agents don't quietly DM each other to get things done. Coordination happens in the open, through the database โ a routing flag on a record, a status change, a new row. When a genuine hand-off is needed, it goes over the auditable message bus, not a side channel.
The database is the bus
Instead of messaging each other, agents leave work for one another in the data. The Chief of Staff sets a routing flag on a decision that needs architecture; the Solution Architect picks up anything flagged for it; the Steward watches the whole spine read-only and attests. Each agent reads what's relevant to it and writes only what it owns. The shared state is the coordination.
โ How they actually coordinate โ everything through the database
flowchart LR A["๐ผ
CoS"]:::cos DB[("๐ SHARED DATABASE
the only medium")]:::db B["๐ ๏ธ
SA"]:::sa C["๐
Steward"]:::steward A == writes brief
+ routing flag ==> DB DB == reads flagged ==> B B == writes ADR ==> DB DB == reads spine ==> C C == writes attestation ==> DB classDef cos fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e3a8a,font-size:14px classDef sa fill:#ede9fe,stroke:#7c3aed,stroke-width:2px,color:#4c1d95,font-size:14px classDef steward fill:#ccfbf1,stroke:#0d9488,stroke-width:2px,color:#134e4a,font-size:14px classDef db fill:#fef3c7,stroke:#d97706,stroke-width:4px,color:#78350f,font-size:14px
โ NOT how they coordinate โ no direct DMs, no side channels
flowchart LR AX["๐ผ
CoS"]:::cosX BX["๐ ๏ธ
SA"]:::saX CX["๐
Steward"]:::stwX AX -. โ no direct DM .-> BX AX -. โ no direct DM .-> CX BX -. โ no direct DM .-> CX classDef cosX fill:#fee2e2,stroke:#dc2626,stroke-width:1.5px,color:#7f1d1d,stroke-dasharray:4 3,font-size:14px classDef saX fill:#fee2e2,stroke:#dc2626,stroke-width:1.5px,color:#7f1d1d,stroke-dasharray:4 3,font-size:14px classDef stwX fill:#fee2e2,stroke:#dc2626,stroke-width:1.5px,color:#7f1d1d,stroke-dasharray:4 3,font-size:14px
No arrows between the agents โ only through the database. That's the pattern in one picture.
A generic ceremony library
Standing up the ring, and rotating a role when its session gets tired, are not bespoke scripts โ they are generic ceremonies driven by a workflow configuration. A workflow declares which roles exist, which model each runs, and which to spawn at startup. The same bootstrap and rotation ceremonies work for any workflow that provides that configuration, so the mechanics are written once and reused.
Bootstrap
Reads the workflow config, validates it, spawns each role marked to start, waits for each to report healthy, records the result, and smoke-tests the ring. Covered in Bootstrap.
Rotation
When a long-lived role needs a fresh session, a rotation ceremony hands the seat over: freeze the outgoing role, snapshot its state, stand up the successor, verify it's ready, and update who holds the role's seat โ all recorded on the audit spine.
Where the humans fit
The same coordinate-through-the-database pattern includes the people. When the operator approves a draft or ratifies a decision in Cardinal, that is a write through the same audited path the agents use โ the human's action lands as a row like any other, attributed to a human actor. The agents and the people are playing the same game, on the same board, by the same rules.
See the whole journey end to end โ ยท The clockwork that drives it โ