The Graph
The Graph is how Syncropel instances discover and reach each other — a federation pattern, not a service. Any instance can be a node; no one owns it.
The Graph is how Syncropel instances find and reach each other. When two instances pair, records flow between them; when many instances pair, the result is a graph of peers over which workspaces, records, and queries travel. The Graph is that pattern — not a product, not a server, not a place you log in to.
This matters because it constrains the design. The Graph is not a hub and not the canonical source of truth. The records themselves are canonical. The Graph is one view over those records: the connectivity between instances and the discovery that connectivity makes possible.
A node is just an instance
Every spl serve is already a Graph node. There is nothing extra to
install. Pairing your instance with a peer (see
Federation) joins you to that peer's slice
of the Graph; pairing with more peers widens it.
A public Graph node is simply an instance that has chosen to make
some of its records — for example its core.workspace.v1 workspaces —
readable without a credential. graph.syncropel.com is one such node:
a public index that the Syncropel team operates. It is useful, but it is
not special. Anyone can run a node. A company can run a private one for
its teams; a community can run a curated one for its members; a niche
can run one for its field. Pluralism is structural.
What the Graph is not
The shape is clearest drawn in negative space.
- Not a hub. A hub centralizes — it owns the data and clients depend on it being up. A Graph node publishes records to the network. If a node goes dark, the records it published are still in every instance that fetched them — still content-addressed, still verifiable. A node is a cache that warmed, not a system that owns.
- Not a gatekeeper. A node publishes what its operator curates. It does not approve, deny, or rank what is published elsewhere. The network routes by identity: if a peer publishes a workspace, your instance fetches it from that peer, not through any central node.
- Not a marketplace. No payments, no ratings, no leaderboards, no recommendation algorithm. A node's curation means only "this node's operator chose to publish this" — nothing more.
Discovery is a query
Finding what the Graph offers is an ordinary query. To see the
workspaces a node publishes, you ask it for records of kind
core.workspace.v1 — the same fold your own instance runs for
spl workspace list. A node adds
no new format; it is an instance whose records are readable, queried
like any other records.
Cross-instance queries — asking a question that traverses several paired peers at once, consent-gated and budget-bounded at every hop — are the Graph's query primitive. They are how a question reaches beyond the records on your own instance without any peer having to hand over its whole store.
The Graph and your workspace catalog
Do not confuse the Graph with your instance's workspace catalog.
- Your workspace catalog is local — the list of
core.workspace.v1records your instance serves.spl workspace listfolds it. See Workspaces. - The Graph is how a workspace published on another instance can reach yours at all: you pair with that instance, discover its workspace by query, and install it onto your own catalog.
The Graph carries workspaces between instances; the catalog is where one lands once it arrives.
Why a discovery layer at all
A log of records is correct and complete, and unhelpful for the question "which of all possible workspaces should I install?" Discovery is the missing ingredient, and discovery is irreducibly opinionated — someone has to choose what a node recommends, and be accountable for it.
The Graph gives that opinion a shape without giving it power. An opinion is a record on a node, signed by its operator, addressable, replicable. Disagreeing with a node's curation means subscribing to a different node — not forking the network. Opinion at the edges, mechanism at the core.
Seeing across everything you reach
Discovery answers "what's out there?" — but you also want "show me my world, all of it, at once." If you run more than one instance, or others have shared threads with you, universal traversal presents that whole reach as one continuous view: your own instances collapse into a single "you," shared threads appear with exactly the access that was granted, and graph queries let you ask how the people and threads in your reach connect. See the Universal traversal guide.
What's next
- Universal traversal — see everything you reach as one view, and query the connections in it.
- Federation — pairing two instances, the primitive the Graph is built from.
- Workspaces — what travels across the Graph and lands in your catalog.
- Federation discovery — how an instance advertises what it serves.
Federation
How two or more Syncropel instances share records while keeping trust boundaries intact — the model, the pieces, and the choices behind them.
Workspaces
A workspace is a record that carries a complete interactive surface — what to show, how to lay it out, and what it is allowed to do. Install one, use it, write your own.