> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fabric.bulldogtechnologies.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> A self-hosted knowledge platform built on a typed knowledge graph, fused retrieval, semantic memory, and first-class database connections.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/bulldogtechnologies/images/hero-graph.png" alt="Fabric knowledge graph" />
</Frame>

**Fabric is a self-hosted knowledge platform.** Connect Gmail, Slack, Drive, Fireflies, IMAP, and your databases. Fabric builds a typed knowledge graph across everything and lets you chat with the whole stack through one interface.

<CardGroup cols={3}>
  <Card title="Typed knowledge graph" icon="diagram-project" color="#10a37f">
    Ten typed edge kinds. Not flat document search — real relational reasoning.
  </Card>

  <Card title="Fused retrieval (RRF)" icon="magnifying-glass" color="#06b6d4">
    BM25 + vector, combined by rank position. Same pattern as Vespa and Elastic.
  </Card>

  <Card title="Memory with decay" icon="brain" color="#8b5cf6">
    Strengthens what you use. Prunes what you don't. Grounded in the graph.
  </Card>

  <Card title="Databases as first-class" icon="database" color="#f97316">
    Real SQL against Postgres and MySQL. Not API wrappers.
  </Card>

  <Card title="Claude-native" icon="sparkles">
    Agent SDK, streaming responses, tool use, session persistence.
  </Card>

  <Card title="Langfuse tracing" icon="chart-line">
    Every LLM call, tool, embedding, and cost per query.
  </Card>
</CardGroup>

## Ask across your entire stack

The questions most AI assistants can't answer — because they're built on document search, not relational knowledge.

<Tabs>
  <Tab title="Who has context?">
    > **Q:** Who has context on the Q2 billing migration?

    Fabric traverses its graph across email threads, Slack `#billing`, and the last three Fireflies meetings. Returns four people with evidence — not documents.
  </Tab>

  <Tab title="Join SQL + Slack">
    > **Q:** Pull customers from Postgres `public.customers` who opened a support ticket in the last 7 days, and match them to any Slack `#support` threads that mention them.

    Real SQL runs against your real database; results land in chat next to the relevant Slack threads. Dust can't do this. Glean can't either.
  </Tab>

  <Tab title="Date-range timeline">
    > **Q:** What happened with Acme between January and March?

    Every node and edge carries a `source_date`. Fabric filters the graph by date range across email, meetings, Slack, and docs, then returns a timeline.
  </Tab>
</Tabs>

## Four layers that compound

<AccordionGroup>
  <Accordion title="1 — Typed knowledge graph" icon="diagram-project">
    Nodes are people, threads, meetings, channels, customers, domains. Edges are typed — `sent_by`, `replied_to`, `attended`, `participant`, `in_thread`, `posted_in`, `organized_by`, `in_folder`, `from_domain`, `has_email` — each carrying a weight and a timestamp.

    Graph traversal is a first-class query operation, not a post-hoc extraction step.
  </Accordion>

  <Accordion title="2 — Fused retrieval via RRF" icon="magnifying-glass">
    Every query runs BM25 (Postgres `ts_rank_cd`) and vector similarity (pgvector cosine) in parallel, then combines them by rank position via **Reciprocal Rank Fusion with k = 60**.

    ```
    rrf_score = 1 / (60 + vec_rank) + 1 / (60 + bm25_rank)
    ```

    Most RAG tools still do weighted linear blending on incompatible score scales, which quietly lets one signal dominate. We don't.
  </Accordion>

  <Accordion title="3 — Semantic memory with decay" icon="brain">
    Every conversation produces typed observations — facts, decisions, commitments, risks, insights, patterns. Each has an importance score that strengthens on reference (×1.1) and decays when unused (×0.9 per conversation). Below 0.05, pruned.

    Unlike mem0's floating memory, every observation links back to the email, meeting, or message where the fact came from.
  </Accordion>

  <Accordion title="4 — Databases as first-class citizens" icon="database">
    Direct connections to PostgreSQL and MySQL via `asyncpg` and `aiomysql` with full schema discovery. Natural-language questions become real SQL against your real database.

    Most "chat with your data" tools wrap SaaS APIs. Fabric connects to the actual systems where your operational data lives.
  </Accordion>
</AccordionGroup>

## Who Fabric is for

<Info>
  **Technical teams that want to own their stack.** Run the backend yourself. Pick your model. Inspect the graph in SQL. Read the source. Modify what you need.
</Info>

<CardGroup cols={2}>
  <Card title="Self-host anywhere" icon="server">
    Docker Compose on a laptop or ECS Fargate via AWS Copilot. Both first-class.
  </Card>

  <Card title="Pick your model" icon="arrows-left-right">
    Anthropic, OpenAI, or local — switchable per deployment.
  </Card>

  <Card title="SQL-inspectable" icon="magnifying-glass-chart">
    Graph and memory live in Postgres. No black box.
  </Card>

  <Card title="Traced end-to-end" icon="chart-line">
    Langfuse shows every LLM call, tool use, and per-query cost.
  </Card>
</CardGroup>

## Get started

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Docker Compose to a running Fabric in 10 minutes.
  </Card>

  <Card title="Architecture" icon="sitemap" href="/architecture">
    The end-to-end data flow.
  </Card>

  <Card title="How It Works" icon="diagram-project" href="/how-it-works">
    The engineering behind each of the four layers.
  </Card>

  <Card title="API Reference" icon="terminal" href="/api-reference/introduction">
    72+ endpoints, live OpenAPI playground.
  </Card>
</CardGroup>
