SpandrelA framework that turns markdown file trees into governed knowledge graphs — philosophy, spec, and reference implementation

Architecture

How Spandrel works — compile, store, serve through a single GraphQL surface

Architecture

Spandrel has three phases: compile, store, serve.

  1. Compile — walk a directory tree of markdown files, parse frontmatter, resolve hierarchy and links, produce a graph of nodes and edges.
  2. Store — write the compiled graph to a storage backend. In-memory for local dev, Postgres for production. Any backend that satisfies the GraphStore interface works.
  3. Serve — expose the graph through GraphQL. MCP and web UIs are clients of the GraphQL API. Access control is enforced in the GraphQL layer.

All clients — MCP, web UI, CLI — go through GraphQL. There is one query surface and one enforcement point.