Kronaxis Fabric v0.10 alpha

The nervous system for multi-agent LLM workflows. One Go binary on one Postgres database, doing three things every multi-agent stack reinvents badly: cross-session coordination via pg_notify, shared semantic memory with hybrid ranking, and capability-typed task orchestration. Stop running three services when one schema does the lot. Plays directly into Kronaxis Router for the cheapest-competent-model decision.

Alpha status: production-ready for single-operator / small-team use today. Breaking changes possible until v1.0 lands multi-tenancy, SSO, and signed release artifacts. Schema migrations are forward-only — back up Postgres before minor-version upgrades.

Kronaxis Fabric architecture MCP CALLERS Claude Code session mcp__fabric__* Vanguard agent role-bound retrieval Persona runner signup playbook lookup BOS bundle coord channel Sibling session listener via pg_notify FABRIC.SERVICE :8201 Single Go binary /v1/memo remember / search /v1/coord cross-session msgs /v1/task capability-typed /v1/code tree-sitter graph hybrid rank: 0.5 cosine · 0.3 tsvector · 0.2 recency PERSISTENCE POSTGRES + PGVECTOR memo (768-dim) embedding coord_messages task code_node route_feedback embeddings via Ollama nomic-embed-text :11434 pg_notify → listening sessions

Three real differentiators

One Postgres, one binary

The whole stack is a single Go binary plus a Postgres role. No Pinecone, no Redis, no separate broker, no task-queue service. Memos, coord messages, capability-typed tasks, and a tree-sitter code graph all live in the same schema with the same backups and the same RBAC. ~650 memos indexed in production.

Hybrid-ranked retrieval, no Cosine-tax

Every search blends three signals: 0.5 × cosine on the 768-dim embedding, 0.3 × Postgres tsvector full-text rank, 0.2 × recency. Acronyms and jargon that tsvector mis-tokenises still hit; rare semantic phrasings still hit. Switch to semantic or tsvector mode when you need pure-channel behaviour.

Cross-session coordination via pg_notify

Sibling agent sessions discover each other and exchange short messages over a Postgres LISTEN/NOTIFY channel that Fabric exposes as POST /v1/coord. No external pub/sub, no WebSocket gateway. The same database that holds your memory holds your messaging.

MCP-native, not just an HTTP API

Fabric ships as a stdio MCP server (kx-fabric-mcp) so any Claude Code session, Cursor instance, or MCP-aware client gets fabric_search, fabric_remember, fabric_coord_send, fabric_health without writing glue. HTTP endpoints are the lower layer; MCP is the daily-driver tool surface.

The unified context layer for agents and LLM proxy alike

Same memo store, two consumers

Kronaxis Router can be configured (fabric_url: in its config) to call Fabric's /v1/rag endpoint instead of its own embedded pgvector. The result: every memo and code chunk your agent fleet banks via MCP becomes immediately available to compress and augment LLM-proxy traffic. Agents (over MCP) and OpenAI-compatible callers (over Router) read from the same Postgres-backed chunk store, with one backup, one RBAC story, one upgrade path. Together they ship as the Kronaxis Platform suite.

How it compares

If you want a hosted agent-memory SaaS, mem0 wins on speed-to-value. If you want a long-running stateful agent runtime, Letta. If you want a managed vector store, Pinecone or Chroma. If you want to self-host one Postgres-backed binary that handles memory + coordination + tasks for a fleet of MCP-aware agents, Kronaxis Fabric is the only option that ships those things together.

Kronaxis Fabricmem0Letta (MemGPT)Chroma / Pinecone
Self-hosted single binary✓ (Go, Postgres only)Python service + Qdrant/PGPython + PostgresPython / hosted
Hybrid semantic + full-text + recency rank✓ (default)semantic primarilysemantic + relevancesemantic only
MCP server included✓ (stdio)×××
Cross-session coord (pg_notify)×××
Capability-typed task queue✓ (v0.6)×stateful agent loop, not a queue×
Tree-sitter code graph endpoint×××
Local embeddings (no API call)✓ (Ollama / nomic-embed-text)configurableconfigurableconfigurable
Type-filtered search (user / feedback / project / reference)partial (custom)partial×
Postgres-only persistence (one backup story)××

60-second start (one binary, one Postgres)

Assumes a Postgres with the pgvector extension and an Ollama with nomic-embed-text pulled. Both are one-liners on a fresh box.

# 1. Install
go install github.com/kronaxis/kronaxis-fabric@latest

# 2. Run it (defaults to :8201, applies migrations on boot)
FABRIC_DB_URL="postgres://fabric@localhost/fabric?sslmode=disable" \
FABRIC_OLLAMA_URL="http://localhost:11434" \
  fabric serve

# 3. Bank a memo + search it back
curl -X POST localhost:8201/v1/memo/remember \
  -H 'Authorization: Bearer dev-key' -H 'Content-Type: application/json' \
  -d '{"title":"first memo","content":"hello fabric","type":"reference"}'

curl -X POST localhost:8201/v1/memo/search \
  -H 'Authorization: Bearer dev-key' -H 'Content-Type: application/json' \
  -d '{"q":"hello","top_k":3,"mode":"hybrid"}'

To wire it into Claude Code, drop kx-fabric-mcp in your mcpServers map and the mcp__fabric__search / mcp__fabric__remember tools appear in every session. See the MCP setup guide.

Continue across the research stack