{
  "schemaVersion": 1,
  "generatedAt": "2026-08-17T18:31:12.961Z",
  "generationKey": "d318adcdbcf894a52a221e84129cbd5373d43d7d0dacda90579d2d7766003f08",
  "metadataPayloadSha256": "401acaaf4a4935351e385a125851ebfc934d70ef76cb10d97931234771c2195e",
  "diagram": {
    "id": "atlas-system-architecture-37b027cf",
    "title": "Atlas — system architecture",
    "description": "Writers (manual.ts, extraction.ts, resolution.ts) all converge on rebuildCanonicalForIds, which maintains canonical_relations — the only edge table the serve side reads. Analytics runs offline and persists PageRank into graph_layout, which the list read joins.",
    "status": "current",
    "canonicalAppearanceKey": "tsx:src/app/(docs)/docs/modules/atlas/page.tsx:atlasArchitectureChart#1"
  },
  "aliases": [],
  "concepts": [
    "Atlas architecture",
    "Write side",
    "Serve side — pure SQL",
    "REST surface — src/app/api/v1",
    "Modules",
    "Atlas",
    "Analytics"
  ],
  "keywords": [
    "entities routes (API)",
    "relations routes (API)",
    "manifest route (API)",
    "manual.ts — hand-authored writes (service)",
    "extraction.ts — ingestion extraction (service)",
    "resolution.ts — merge and unmerge (service)",
    "shared.ts — rebuildCanonicalForIds (service)",
    "manifest.ts — workspace manifest (service)",
    "analytics.ts — PageRank and Louvain (service)",
    "persist-layout.ts — layout versions (service)",
    "constraints.ts — domain and range checks (service)",
    "query.ts — entityCard + expandFrontier (service)",
    "content-acl.ts — document ACL predicate (service)",
    "store: tables",
    "store: table",
    "listEntitiesForApi (service)",
    "query/entities.ts",
    "model"
  ],
  "mermaid": {
    "type": "flowchart",
    "direction": "TB",
    "sourceSha256": "37b027cfaba9e6f3e2e9767ff096741a0f978c882b0ae0ddca6ad61c029cf0d9"
  },
  "provenance": [
    {
      "appearanceKey": "tsx:src/app/(docs)/docs/modules/atlas/page.tsx:atlasArchitectureChart#1",
      "surface": "route",
      "sourcePath": "src/app/(docs)/docs/modules/atlas/page.tsx",
      "line": 65,
      "route": "/docs/modules/atlas",
      "symbol": "atlasArchitectureChart",
      "caption": "Writers (manual.ts, extraction.ts, resolution.ts) all converge on rebuildCanonicalForIds, which maintains canonical_relations — the only edge table the serve side reads. Analytics runs offline and persists PageRank into graph_layout, which the list read joins."
    }
  ],
  "embeddedMetadata": [
    {
      "sourcePath": "src/app/(docs)/docs/modules/atlas/page.tsx",
      "caption": "Writers (manual.ts, extraction.ts, resolution.ts) all converge on rebuildCanonicalForIds, which maintains canonical_relations — the only edge table the serve side reads. Analytics runs offline and persists PageRank into graph_layout, which the list read joins."
    }
  ],
  "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/atlas-system-architecture-37b027cf/atlas-system-architecture-37b027cf.mmd",
    "svg": "/diagrams/atlas-system-architecture-37b027cf/atlas-system-architecture-37b027cf.svg",
    "png": "/diagrams/atlas-system-architecture-37b027cf/atlas-system-architecture-37b027cf.png",
    "drawio": "/diagrams/atlas-system-architecture-37b027cf/atlas-system-architecture-37b027cf.drawio",
    "json": "/diagrams/atlas-system-architecture-37b027cf/atlas-system-architecture-37b027cf.json"
  },
  "artifactSha256": {
    "mmd": "9595fe18612e3e39d446051a7a8ba301e5ed7b34184e0b73422cecca3d99505b",
    "svg": "d0f23d8ff677c8883fda3f067a3c76c206e71954abab96a8c69d1443d8117072",
    "png": "1a0da3a32f5b8e8d9b744b408eac49240e750cd3001e32c9cdba1994f2dd7852",
    "drawio": "0d8de220a0ad7af0058eda51e97e6ea34330a80d6ddce1d916b2d1e5321c840a"
  }
}
