# Fabriq > Documentation for Fabriq, version 1.x. > Every entry links to the page's markdown source. Repository: https://github.com/xraph/fabriq Site: https://www.xraph.com/docs/fabriq ## Pages - [Admin Console](https://www.xraph.com/docs/fabriq/(admin)/admin-console.md): A mountable, plugin-based web console for every fabriq subsystem — browse and edit entities, author schemas, run text/semantic/hybrid search, traverse the graph, manage files and CRDT documents, inspect the outbox, and run read-only SQL — all tenant-scoped. - [Authentication](https://www.xraph.com/docs/fabriq/(admin)/authentication.md): Hosted-fabriq auth for the adminapi — per-tenant API keys for machine clients (verified by a Bearer middleware) and a username/password dashboard login that mints a short-lived session token validated by the same middleware. Both opt-in; off by default. - [Connection String](https://www.xraph.com/docs/fabriq/(admin)/connection-string.md): A portable DSN — fabriq://@host/ — that encodes endpoint, tenant, credential, and transport in one string, plus the clients that consume it: connect() in TypeScript and a full adminapi-mirror client package in Go. - [Agent Toolkit](https://www.xraph.com/docs/fabriq/(ai-agents)/agent-toolkit.md): A transport-agnostic toolkit that turns fabriq into an AI agent's brain — multi-modal recall, guarded memory formation, and live awareness — exposed in-process to Go agents and over MCP to any agent. - [Context Distillation](https://www.xraph.com/docs/fabriq/(ai-agents)/distillation.md): A per-tenant Merkle tree of AI-generated summaries — the "AI data fabric" — that lets agents navigate gigabytes of knowledge at altitude, transfer only what changed, and resolve any subtree from a single hash. - [MCP Adapter](https://www.xraph.com/docs/fabriq/(ai-agents)/mcp.md): Expose the agent toolkit to any agent over MCP — JSON-RPC tools/list + tools/call, plus a watch SSE stream — as an auth-agnostic Forge extension that mirrors the live-query gateway. - [Recall](https://www.xraph.com/docs/fabriq/(ai-agents)/recall.md): Auto-context retrieval — fuse semantic, lexical, and graph candidates with Reciprocal Rank Fusion, hydrate authoritative rows, and fit them to a token budget. Plus thin per-plane primitives. - [Remember & Auto-Indexing](https://www.xraph.com/docs/fabriq/(ai-agents)/remember.md): Guarded memory formation through the command plane (deny-by-default write policy), plus auto-embedding on write and auto-unindexing on delete so what an agent writes is immediately recallable. - [Architecture](https://www.xraph.com/docs/fabriq/(concepts)/architecture.md): The facade, the engine-agnostic kernel, the adapter dialects, and the capability-port principle that ties them together. - [Caching](https://www.xraph.com/docs/fabriq/(concepts)/caching.md): A transparent, opt-in, two-level read-through cache — per-id rows and query result-sets, kept correct by write-driven invalidation, with an optional per-node in-process tier. - [Commands and Events](https://www.xraph.com/docs/fabriq/(concepts)/commands-and-events.md): The command plane as the only write path for aggregates, the transactional outbox, optimistic concurrency, and the versioned event envelope. - [Dynamic Entities](https://www.xraph.com/docs/fabriq/(concepts)/dynamic-entities.md): Runtime-defined entities — register a schema descriptor instead of a Go struct, and fabriq runs the whole data plane (managed DDL, writes, reads, projections) over real typed Postgres columns. - [Live Queries](https://www.xraph.com/docs/fabriq/(concepts)/live-queries.md): Maintained result sets — filter + sort + limit subscriptions that emit exact enter/leave/move/update deltas, with Postgres as the ordering oracle. - [Projections](https://www.xraph.com/docs/fabriq/(concepts)/projections.md): How the graph and search planes are derived from the event stream as engine-neutral mutations, kept idempotent by version gating, and always rebuildable from Postgres. - [Registry](https://www.xraph.com/docs/fabriq/(concepts)/registry.md): How an entity is declared once as an EntitySpec and the projection mappings, channel names, and tenant-scoped store names are all derived from it. - [Sharding](https://www.xraph.com/docs/fabriq/(concepts)/sharding.md): Routing the source of truth across multiple Postgres shards — by tenant, without distributed transactions. - [Subscriptions](https://www.xraph.com/docs/fabriq/(concepts)/subscriptions.md): The delta plane — server-resolved channels, conflated live delivery, Last-Event-ID resume, and the SSE bridge. - [Tenancy](https://www.xraph.com/docs/fabriq/(concepts)/tenancy.md): How fabriq isolates tenants and keeps their data sovereign — stamped transactions plus RLS, structural stamping, and the grove hook backstop — and how a tenant comes into existence. - [Analytics](https://www.xraph.com/docs/fabriq/(data-planes)/analytics.md): The per-tenant, RLS-scoped customer analytics port — event ingest, a structured cube query, and a raw-SQL escape hatch, all reachable through f.Analytics(). - [Documents](https://www.xraph.com/docs/fabriq/(data-planes)/documents.md): The CRDT document plane — append-only update log, seq-vector sync, compaction with optional history offload to the blob plane, and quiet-window materialization back into ordinary entities. - [Graph](https://www.xraph.com/docs/fabriq/(data-planes)/graph.md): The read-only openCypher graph port — Query, TraverseAndHydrate (one batched hydration, never N+1), and the conformance suite that gates engine swaps. - [Relational](https://www.xraph.com/docs/fabriq/(data-planes)/relational.md): The relational read port over Postgres — point reads, batched hydration, structured filters, load-one-by-condition, and a raw-SQL escape hatch — plus the typed Repo[T] layer. Every method is tenant-scoped. - [Search](https://www.xraph.com/docs/fabriq/(data-planes)/search.md): The full-text search port over Elasticsearch — multi_match over declared fields, lazy per-tenant indexes, and version-gated bulk writes. - [Spatial](https://www.xraph.com/docs/fabriq/(data-planes)/spatial.md): The geometry port over PostGIS — upsert WKT geometries and run GiST-accelerated radius (nearest-first) searches, with true-metre distances for geographic coordinates. - [Timeseries](https://www.xraph.com/docs/fabriq/(data-planes)/timeseries.md): The telemetry port over TimescaleDB — bulk ingest that bypasses the event path, range reads, and structural tenancy on a hypertable with no RLS. - [Vector](https://www.xraph.com/docs/fabriq/(data-planes)/vector.md): The embedding port over pgvector — upsert caller-supplied embeddings, cosine nearest-neighbour search with optional metadata filtering, and metadata-scoped delete. - [Cortex (agent brain)](https://www.xraph.com/docs/fabriq/(ecosystem)/cortex.md): Plug fabriq in as a plug-n-play brain for cortex agents — multi-channel recall, rich tools, and a learning loop — via the fabriqbrain adapter. - [Weave (vector store)](https://www.xraph.com/docs/fabriq/(ecosystem)/weave.md): Use fabriq as the vector backend for weave's RAG pipeline via the fabriqvec adapter — weave's document chunks persist into the fabric. - [Blob GC & Reconcile](https://www.xraph.com/docs/fabriq/(file-plane)/blob-gc.md): The BlobReconciler in adapters/trove recomputes ref-counts from the command-authoritative catalog, garbage-collects unreferenced bytes past a grace window, and reports broken or orphaned content — run as a leader-elected worker to keep the byte store self-healing and storage-bounded. - [Blob Storage](https://www.xraph.com/docs/fabriq/(file-plane)/blobs.md): fabriq's byte-plane port (core/blob.Store) backed by Trove via adapters/trove, with an opt-in per-tenant content-addressable store that deduplicates bytes within a tenant's isolated bucket and tracks ref-counts in the blob_cas ledger. - [File Plane](https://www.xraph.com/docs/fabriq/(file-plane)/file-plane.md): Layered file/blob storage for fabriq — catalog (entities, versioned events, RLS, projections, live queries) lives in Postgres; raw bytes live in an external object store reached through the core/blob port, backed by adapters/trove. - [fs_node](https://www.xraph.com/docs/fabriq/(file-plane)/fs-node.md): The filesystem tree entity — pure-adjacency folders and files backed by blob_objects, with read-time derived paths, graph CHILD_OF projection, soft-delete subtree ops, write-lock, and a live-query facade for folder children. - [FS Satellite Entities](https://www.xraph.com/docs/fabriq/(file-plane)/fs-satellites.md): Reference for the five relational entities that orbit every FsNode — fs_permission, fs_share, fs_bookmark, blob_source, and mount points — plus the AES-256-GCM field encryption that protects blob_source credentials. - [Configuration](https://www.xraph.com/docs/fabriq/(getting-started)/configuration.md): Configure Fabriq in library code with the Config struct and functional options, or via the environment variables the binary reads. - [Installation](https://www.xraph.com/docs/fabriq/(getting-started)/installation.md): Prerequisites, getting the module, and the migrate-then-serve startup order for a Fabriq service. - [Quickstart](https://www.xraph.com/docs/fabriq/(getting-started)/quickstart.md): Build a registry, open the facade, run create and update commands under a tenant context, read back, batch, and subscribe to deltas. - [Analytics sink](https://www.xraph.com/docs/fabriq/(operations)/analytics-sink.md): An opt-in, cross-tenant analytics read model fed by the shared event stream — fleet-wide reporting without touching per-tenant databases. - [CLI](https://www.xraph.com/docs/fabriq/(operations)/cli.md): The full fabriq command surface — serve the worker, run migrations, inspect state, and rebuild or reconcile projections. - [Database per tenant](https://www.xraph.com/docs/fabriq/(operations)/db-per-tenant.md): Catalog mode — one fabriq tier serving a dedicated Postgres database per tenant, with explicit provisioning, a bounded pool, and a sweeping worker plane. - [Deployment](https://www.xraph.com/docs/fabriq/(operations)/deployment.md): Build the single fabriq image, run schema migrations as a pre-upgrade hook, and deploy the leader-elected worker with the Helm chart. - [Migrations](https://www.xraph.com/docs/fabriq/(operations)/migrations.md): The migrations package is fabriq's DDL authority — grove Go-code migrations run as a discrete deploy step by the schema owner, with CI-enforced conformance against the registry. - [Observability](https://www.xraph.com/docs/fabriq/(operations)/observability.md): The fabriq metric catalog, health endpoints, and W3C trace propagation across the async event hop. - [Rebuild & Reconcile](https://www.xraph.com/docs/fabriq/(operations)/rebuild-and-reconcile.md): Blue-green projection rebuilds and drift reconciliation — both source-of-truth from Postgres, never written to an engine directly. - [Remote protocol](https://www.xraph.com/docs/fabriq/(operations)/remote-protocol.md): An optional fabriq-as-a-server topology — backend services talk to a central, connection-owning fabriq over gRPC through the same query.Fabric interface, instead of each embedding the library and its datastore pools. - [Runbooks](https://www.xraph.com/docs/fabriq/(operations)/runbooks.md): Incident procedures for the fabriq worker — outbox backlog, projection lag, tenant hook trips, conflation depth, and SSE buffering behind proxies. - [Schema per tenant](https://www.xraph.com/docs/fabriq/(operations)/schema-per-tenant.md): Consolidation mode — many tenants share one Postgres database, each isolated by its own schema and routed by search_path, with far less overhead than a database each. - [Introduction](https://www.xraph.com/docs/fabriq.md): Fabriq is a standalone data fabric for Go — one facade your application code uses to reach every datastore (tenancy, eventing, and projection invariants held across all of them), and that AI agents use as a brain: fused recall, guarded memory, and live awareness. - [Configuration Reference](https://www.xraph.com/docs/fabriq/reference/configuration.md): Exhaustive reference for the Fabriq Config struct, functional Options, environment variables, and validation rules. - [Architecture Decisions](https://www.xraph.com/docs/fabriq/reference/decisions.md): The load-bearing choices behind Fabriq — what was decided, and the reasoning that makes each one hold. - [Errors Reference](https://www.xraph.com/docs/fabriq/reference/errors.md): Fabriq's typed and sentinel errors, when each occurs, and how callers detect them.