How it ships into your coding-agent stack.
The task spec is just an artifact in CCSStore — a LangGraph BaseStore drop-in. Both sub-agents share the same store; the MESI protocol does the rest. No node-code changes.
# Coding-agent flow — planner and executor share a task spec via CCSStore
from langgraph.store.memory import InMemoryStore # before
from ccs.adapters import CCSStore # after
store = CCSStore(strategy="lazy")
graph = builder.compile(store=store)
# Planner writes v2; CCSStore publishes invalidation to peers
# before write() returns. Executor's next get() is guaranteed
# to pull the current version — no stale-read window.
The same protocol works on CrewAI and AutoGen via their adapters, and on custom orchestrators via CoherenceAdapterCore. Vendor-neutral across Anthropic, OpenAI, Google, Mistral, and open-source models — the protocol operates on artifacts, not model responses.
Two more surfaces shipped in v0.10.0. When a developer or a tool edits a shared file out of band — outside the coordinator — that foreign edit is now caught the moment an agent re-reads it (denied in strict mode) or writes over it (denied by default), surfaced as StaleView and cleared with reacquire(). And if your agents are MCP clients, stale-write-guard-fs (pip install "agent-coherence[mcp]") exposes the same coordinator over stdio — five tools (swg_read, swg_write, swg_reacquire, swg_write_cas, swg_status) — no orchestrator required.
Two adoption tiers.
Pick where on the commitment curve you want to start.
Hard
CCSStore — protocol-enforced coherence
Drop-in for LangGraph; adapters for CrewAI, AutoGen, custom orchestrators. Stale reads can't reach commit code because the protocol invalidates peer caches synchronously before write() returns. The fix.
Advisory
ccs-diagnose — passive observation, zero code change
Static analyzer that detects divergent-read risk in existing graphs before any adoption. Reports the artifacts whose reads can be handed stale versions, with line numbers. Triage before commitment.
# zero-network, runs against your existing graph
ccs-diagnose --graph my_graph.py:build_graph