{
  "schemaVersion": 1,
  "generatedAt": "2026-08-12T23:39:16.709Z",
  "generationKey": "3d4dc18e2993ed6ca3fb4da6a11e50fa2bb25dddb56fa247b07d4bc15c217ed7",
  "metadataPayloadSha256": "3f2a63437992214e6ff73d50fcc885625bad04e183ba7f089e8b4cd896699138",
  "diagram": {
    "id": "hybrid-retrieval-pipeline-00e116d0",
    "title": "Hybrid retrieval pipeline",
    "description": "authorize → understand → hybrid → graph-fuse → rerank → assemble. The dotted edge is the degrade path: with no judge model, understanding is skipped and the raw question flows straight into hybrid retrieval. Authorization is not optional: every branch retains the same content ACL.",
    "status": "current",
    "canonicalAppearanceKey": "tsx:src/app/(docs)/docs/concepts/retrieval-pipeline/page.tsx:pipelineChart#1"
  },
  "aliases": [],
  "concepts": [
    "Retrieval pipeline",
    "Pipeline"
  ],
  "keywords": [
    "GraphRAG local search (SQL)",
    "content ACL context",
    "stable cache partition",
    "query understanding",
    "hybrid retrieve()",
    "FTS ⋃ vector → RRF",
    "disabled / no model",
    "candidate pool ≈ 40",
    "graph fusion",
    "user question + actor principals",
    "rewrite · sub-queries · filters",
    "neighbor-doc chunks merged (dedup)",
    "token budget + MMR + front-load",
    "rerank",
    "assemble",
    "Sn",
    "cross-encoder · Voyage / Cohere / bge / none"
  ],
  "mermaid": {
    "type": "flowchart",
    "direction": "TB",
    "sourceSha256": "00e116d0a0063ec9197ca8f3cee087793bae0869651944206480373757ba5af8"
  },
  "provenance": [
    {
      "appearanceKey": "tsx:src/app/(docs)/docs/concepts/retrieval-pipeline/page.tsx:pipelineChart#1",
      "surface": "route",
      "sourcePath": "src/app/(docs)/docs/concepts/retrieval-pipeline/page.tsx",
      "line": 26,
      "route": "/docs/concepts/retrieval-pipeline",
      "symbol": "pipelineChart",
      "caption": "authorize → understand → hybrid → graph-fuse → rerank → assemble. The dotted edge is the degrade path: with no judge model, understanding is skipped and the raw question flows straight into hybrid retrieval. Authorization is not optional: every branch retains the same content ACL."
    }
  ],
  "embeddedMetadata": [
    {
      "sourcePath": "src/app/(docs)/docs/concepts/retrieval-pipeline/page.tsx",
      "caption": "authorize → understand → hybrid → graph-fuse → rerank → assemble. The dotted edge is the degrade path: with no judge model, understanding is skipped and the raw question flows straight into hybrid retrieval. Authorization is not optional: every branch retains the same content ACL."
    }
  ],
  "generation": {
    "application": {
      "name": "eli-ai",
      "version": "0.1.0"
    },
    "environment": {
      "node": "v26.3.1",
      "yarn": "4.17.1",
      "platform": "linux",
      "architecture": "x64",
      "containerImage": "playwright:v1.62.1-noble@sha256:c091b21d9fae78c76e85cd4356431e9b018402f172a214fc7d7a5e9a7e29d8ac+node:26.3.1-bookworm-slim@sha256:209558c3e5e40e8adff68959d3c2ba7cd73723e716d89196878a0c362fa1e109"
    },
    "packages": {
      "mermaid": "11.16.0",
      "mermaidCli": "11.16.0",
      "playwright": "1.62.1",
      "playwrightCore": "1.62.1",
      "puppeteer": "25.6.0",
      "puppeteerCore": "25.6.0"
    },
    "renderer": {
      "mermaidConfigSha256": "68c10966fe84406ee626034d58bfabd555df9f65f691204b7c46db24038da101",
      "themeCssSha256": "c80287a78d80ad63d27bd5ca348b2ef9a7e2f44da289e436be6484ea28a1b033",
      "browser": {
        "name": "chromium",
        "revision": "1234",
        "version": "151.0.7922.34",
        "executableSha256": "0b20b130e7edd9dd51873be867761295fe0cfad490c2b9a64f95bd3cfc08fa71"
      },
      "font": {
        "family": "Eli Diagram Inter Variable",
        "fileSha256": "3100e775e8616cd2611beecfa23a4263d7037586789b43f035236a2e6fbd4c62",
        "licenseSha256": "3b0a5fca3d17942cde889069889dedbbbd075e9b599968c82a95f4d944e9b345"
      }
    },
    "adapterVersions": {
      "diagramGenerator": "2",
      "drawioFlowchart": "1",
      "drawioSequence": "1",
      "drawioState": "1",
      "drawioGantt": "1"
    }
  },
  "artifacts": {
    "mmd": "/diagrams/hybrid-retrieval-pipeline-00e116d0/hybrid-retrieval-pipeline-00e116d0.mmd",
    "svg": "/diagrams/hybrid-retrieval-pipeline-00e116d0/hybrid-retrieval-pipeline-00e116d0.svg",
    "png": "/diagrams/hybrid-retrieval-pipeline-00e116d0/hybrid-retrieval-pipeline-00e116d0.png",
    "drawio": "/diagrams/hybrid-retrieval-pipeline-00e116d0/hybrid-retrieval-pipeline-00e116d0.drawio",
    "json": "/diagrams/hybrid-retrieval-pipeline-00e116d0/hybrid-retrieval-pipeline-00e116d0.json"
  },
  "artifactSha256": {
    "mmd": "7d736941b334d364aa04800d24513cbd710fd8c77613d15826f1c37de3726956",
    "svg": "fe5eab34ad5d48615e1206706b43b376ffff6576033b6a722410b9319a1af9aa",
    "png": "47f1524449c41ad15632ef2e9ec9c64bdb64c6611e44de759216f9a1950c8dc1",
    "drawio": "2a752f6572dfc612d6f46041d1bfbe257bde4d548ba87b10aadc9dec258268b0"
  }
}
