{
  "schemaVersion": 1,
  "generatedAt": "2026-08-12T23:42:06.867Z",
  "generationKey": "43e9c5d9a5083b11572771809318d06150c8664da0d7b159329f36c39d93047c",
  "metadataPayloadSha256": "c41082f5814662ef5807dd53384a0052b8dc71c5ab02d902bdfc0b0fed37575c",
  "diagram": {
    "id": "semantic-cache-invalidation-0e271335",
    "title": "Semantic cache invalidation",
    "description": "Any document write funnels through one hook. The worker looks up dependent entries by doc_id and tombstones those whose stored content hash no longer matches — stamping an invalidation_reason. Entries are never silently deleted; the reason is auditable.",
    "status": "current",
    "canonicalAppearanceKey": "tsx:src/app/(docs)/docs/concepts/semantic-caching/page.tsx:invalidateChart#1"
  },
  "aliases": [],
  "concepts": [
    "Semantic caching",
    "Invalidate"
  ],
  "keywords": [
    "lookup by doc_id",
    "doc changed / deleted",
    "docId, newHash",
    "stored hash ≠ newHash?",
    "tombstone entry",
    "keep entry",
    "ingestion · connector · vault",
    "cacheInvalidateOnDocChange(ws, docId, newHash)",
    "enqueue cacheInvalidate {docId, newHash}",
    "invalidation_reason",
    "semantic_cache_dependencies",
    "yes",
    "unchanged",
    "processCacheInvalidation"
  ],
  "mermaid": {
    "type": "flowchart",
    "direction": "LR",
    "sourceSha256": "0e2713353976dde3c1bc249df9771a5ae9d0542a83a060d996dd9a90076656ac"
  },
  "provenance": [
    {
      "appearanceKey": "tsx:src/app/(docs)/docs/concepts/semantic-caching/page.tsx:invalidateChart#1",
      "surface": "route",
      "sourcePath": "src/app/(docs)/docs/concepts/semantic-caching/page.tsx",
      "line": 40,
      "route": "/docs/concepts/semantic-caching",
      "symbol": "invalidateChart",
      "caption": "Any document write funnels through one hook. The worker looks up dependent entries by doc_id and tombstones those whose stored content hash no longer matches — stamping an invalidation_reason. Entries are never silently deleted; the reason is auditable."
    }
  ],
  "embeddedMetadata": [
    {
      "sourcePath": "src/app/(docs)/docs/concepts/semantic-caching/page.tsx",
      "caption": "Any document write funnels through one hook. The worker looks up dependent entries by doc_id and tombstones those whose stored content hash no longer matches — stamping an invalidation_reason. Entries are never silently deleted; the reason is auditable."
    }
  ],
  "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/semantic-cache-invalidation-0e271335/semantic-cache-invalidation-0e271335.mmd",
    "svg": "/diagrams/semantic-cache-invalidation-0e271335/semantic-cache-invalidation-0e271335.svg",
    "png": "/diagrams/semantic-cache-invalidation-0e271335/semantic-cache-invalidation-0e271335.png",
    "drawio": "/diagrams/semantic-cache-invalidation-0e271335/semantic-cache-invalidation-0e271335.drawio",
    "json": "/diagrams/semantic-cache-invalidation-0e271335/semantic-cache-invalidation-0e271335.json"
  },
  "artifactSha256": {
    "mmd": "ee84bce818c8b42edddee6f23f0d5a3f8699b0c4e2bed1e09ae26c326000e626",
    "svg": "6d044f29f59cd2b96c8d0fb0f0aed4b9c873c77de17adfe268bfa1d13d4ad166",
    "png": "55db86ce9d873513adfcfc820bcfee378ae70459c5b6e3f515b3e06fde767bbc",
    "drawio": "859cd933ae0e0fc7a4ad9e88fc8905f3a048cbe290560bc76fe90b14c50fd427"
  }
}
