{ "type": "excalidraw", "version": 2, "source": "https://excalidraw.com", "elements": [ { "type": "text", "id": "title", "x": 350, "y": 15, "text": "Lore Data Flow Architecture", "fontSize": 28 }, { "type": "text", "id": "subtitle", "x": 280, "y": 53, "text": "Green = queryable via CLI | Red = stored but hidden | Gray = internal", "fontSize": 14, "strokeColor": "#868e96" }, { "type": "rectangle", "id": "zone-gitlab", "x": 30, "y": 90, "width": 200, "height": 300, "backgroundColor": "#e5dbff", "fillStyle": "solid", "roundness": { "type": 3 }, "strokeColor": "#8b5cf6", "strokeWidth": 1, "opacity": 30 }, { "type": "text", "id": "zone-gitlab-label", "x": 55, "y": 96, "text": "GitLab APIs", "fontSize": 16, "strokeColor": "#7048e8" }, { "type": "rectangle", "id": "rest-api", "x": 50, "y": 130, "width": 160, "height": 60, "roundness": { "type": 3 }, "backgroundColor": "#d0bfff", "fillStyle": "solid", "label": { "text": "REST API\n(paginated)", "fontSize": 16 } }, { "type": "rectangle", "id": "graphql-api", "x": 50, "y": 210, "width": 160, "height": 60, "roundness": { "type": 3 }, "backgroundColor": "#d0bfff", "fillStyle": "solid", "label": { "text": "GraphQL API\n(adaptive pages)", "fontSize": 16 } }, { "type": "rectangle", "id": "ollama-api", "x": 50, "y": 310, "width": 160, "height": 60, "roundness": { "type": 3 }, "backgroundColor": "#d0bfff", "fillStyle": "solid", "label": { "text": "Ollama\n(embeddings)", "fontSize": 16 } }, { "type": "rectangle", "id": "zone-ingest", "x": 270, "y": 90, "width": 180, "height": 300, "backgroundColor": "#dbe4ff", "fillStyle": "solid", "roundness": { "type": 3 }, "strokeColor": "#4a9eed", "strokeWidth": 1, "opacity": 30 }, { "type": "text", "id": "zone-ingest-label", "x": 300, "y": 96, "text": "Ingestion", "fontSize": 16, "strokeColor": "#1971c2" }, { "type": "rectangle", "id": "ingest-issues", "x": 285, "y": 130, "width": 150, "height": 50, "roundness": { "type": 3 }, "backgroundColor": "#a5d8ff", "fillStyle": "solid", "label": { "text": "Issue Sync", "fontSize": 16 } }, { "type": "rectangle", "id": "ingest-mrs", "x": 285, "y": 195, "width": 150, "height": 50, "roundness": { "type": 3 }, "backgroundColor": "#a5d8ff", "fillStyle": "solid", "label": { "text": "MR Sync", "fontSize": 16 } }, { "type": "rectangle", "id": "ingest-disc", "x": 285, "y": 260, "width": 150, "height": 50, "roundness": { "type": 3 }, "backgroundColor": "#a5d8ff", "fillStyle": "solid", "label": { "text": "Discussion Sync", "fontSize": 16 } }, { "type": "rectangle", "id": "ingest-events", "x": 285, "y": 325, "width": 150, "height": 50, "roundness": { "type": 3 }, "backgroundColor": "#a5d8ff", "fillStyle": "solid", "label": { "text": "Event Sync", "fontSize": 16 } }, { "type": "arrow", "id": "a-rest-issues", "x": 210, "y": 155, "width": 75, "height": 0, "points": [[0,0],[75,0]], "endArrowhead": "arrow", "strokeColor": "#495057" }, { "type": "arrow", "id": "a-rest-mrs", "x": 210, "y": 165, "width": 75, "height": 50, "points": [[0,0],[75,50]], "endArrowhead": "arrow", "strokeColor": "#495057" }, { "type": "arrow", "id": "a-graphql-issues", "x": 210, "y": 240, "width": 75, "height": -80, "points": [[0,0],[75,-80]], "endArrowhead": "arrow", "strokeColor": "#495057" }, { "type": "rectangle", "id": "zone-sqlite", "x": 490, "y": 90, "width": 400, "height": 650, "backgroundColor": "#d3f9d8", "fillStyle": "solid", "roundness": { "type": 3 }, "strokeColor": "#22c55e", "strokeWidth": 1, "opacity": 20 }, { "type": "text", "id": "zone-sqlite-label", "x": 570, "y": 96, "text": "SQLite (WAL mode)", "fontSize": 16, "strokeColor": "#15803d" }, { "type": "text", "id": "grp-queryable", "x": 500, "y": 120, "text": "Queryable Tables", "fontSize": 14, "strokeColor": "#15803d" }, { "type": "rectangle", "id": "t-projects", "x": 500, "y": 145, "width": 170, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#b2f2bb", "fillStyle": "solid", "label": { "text": "projects", "fontSize": 14 } }, { "type": "rectangle", "id": "t-issues", "x": 500, "y": 195, "width": 170, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#b2f2bb", "fillStyle": "solid", "label": { "text": "issues + assignees", "fontSize": 14 } }, { "type": "rectangle", "id": "t-mrs", "x": 500, "y": 245, "width": 170, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#b2f2bb", "fillStyle": "solid", "label": { "text": "merge_requests", "fontSize": 14 } }, { "type": "rectangle", "id": "t-discussions", "x": 500, "y": 295, "width": 170, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#b2f2bb", "fillStyle": "solid", "label": { "text": "discussions + notes", "fontSize": 14 } }, { "type": "rectangle", "id": "t-events", "x": 500, "y": 345, "width": 170, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#b2f2bb", "fillStyle": "solid", "label": { "text": "resource_*_events", "fontSize": 14 } }, { "type": "rectangle", "id": "t-docs", "x": 500, "y": 395, "width": 170, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#b2f2bb", "fillStyle": "solid", "label": { "text": "documents + FTS5", "fontSize": 14 } }, { "type": "rectangle", "id": "t-embed", "x": 500, "y": 445, "width": 170, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#b2f2bb", "fillStyle": "solid", "label": { "text": "embeddings (vec)", "fontSize": 14 } }, { "type": "text", "id": "grp-hidden", "x": 700, "y": 120, "text": "Hidden Tables", "fontSize": 14, "strokeColor": "#c92a2a" }, { "type": "rectangle", "id": "t-file-changes", "x": 695, "y": 145, "width": 180, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#ffc9c9", "fillStyle": "solid", "strokeColor": "#ef4444", "label": { "text": "mr_file_changes", "fontSize": 14 } }, { "type": "rectangle", "id": "t-entity-refs", "x": 695, "y": 195, "width": 180, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#ffc9c9", "fillStyle": "solid", "strokeColor": "#ef4444", "label": { "text": "entity_references", "fontSize": 14 } }, { "type": "rectangle", "id": "t-raw", "x": 695, "y": 245, "width": 180, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#ffc9c9", "fillStyle": "solid", "strokeColor": "#ef4444", "label": { "text": "raw_payloads", "fontSize": 14 } }, { "type": "text", "id": "grp-internal", "x": 700, "y": 310, "text": "Internal Only", "fontSize": 14, "strokeColor": "#868e96" }, { "type": "rectangle", "id": "t-sync", "x": 695, "y": 340, "width": 180, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#dee2e6", "fillStyle": "solid", "strokeColor": "#868e96", "label": { "text": "sync_runs + cursors", "fontSize": 14 } }, { "type": "rectangle", "id": "t-dirty", "x": 695, "y": 390, "width": 180, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#dee2e6", "fillStyle": "solid", "strokeColor": "#868e96", "label": { "text": "dirty_sources", "fontSize": 14 } }, { "type": "rectangle", "id": "t-locks", "x": 695, "y": 440, "width": 180, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#dee2e6", "fillStyle": "solid", "strokeColor": "#868e96", "label": { "text": "app_locks", "fontSize": 14 } }, { "type": "arrow", "id": "a-ingest-tables", "x": 435, "y": 200, "width": 55, "height": 0, "points": [[0,0],[55,0]], "endArrowhead": "arrow", "strokeColor": "#495057" }, { "type": "rectangle", "id": "zone-cli", "x": 930, "y": 90, "width": 250, "height": 650, "backgroundColor": "#fff3bf", "fillStyle": "solid", "roundness": { "type": 3 }, "strokeColor": "#f59e0b", "strokeWidth": 1, "opacity": 25 }, { "type": "text", "id": "zone-cli-label", "x": 990, "y": 96, "text": "CLI Commands", "fontSize": 16, "strokeColor": "#b45309" }, { "type": "rectangle", "id": "cmd-issues", "x": 950, "y": 130, "width": 210, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#fff3bf", "fillStyle": "solid", "label": { "text": "lore issues", "fontSize": 16 } }, { "type": "rectangle", "id": "cmd-mrs", "x": 950, "y": 185, "width": 210, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#fff3bf", "fillStyle": "solid", "label": { "text": "lore mrs", "fontSize": 16 } }, { "type": "rectangle", "id": "cmd-search", "x": 950, "y": 240, "width": 210, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#fff3bf", "fillStyle": "solid", "label": { "text": "lore search", "fontSize": 16 } }, { "type": "rectangle", "id": "cmd-who", "x": 950, "y": 295, "width": 210, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#fff3bf", "fillStyle": "solid", "label": { "text": "lore who", "fontSize": 16 } }, { "type": "rectangle", "id": "cmd-timeline", "x": 950, "y": 350, "width": 210, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#fff3bf", "fillStyle": "solid", "label": { "text": "lore timeline", "fontSize": 16 } }, { "type": "rectangle", "id": "cmd-count", "x": 950, "y": 405, "width": 210, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#fff3bf", "fillStyle": "solid", "label": { "text": "lore count", "fontSize": 16 } }, { "type": "rectangle", "id": "cmd-sync", "x": 950, "y": 460, "width": 210, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#fff3bf", "fillStyle": "solid", "label": { "text": "lore sync", "fontSize": 16 } }, { "type": "rectangle", "id": "cmd-status", "x": 950, "y": 515, "width": 210, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#fff3bf", "fillStyle": "solid", "label": { "text": "lore status", "fontSize": 16 } }, { "type": "arrow", "id": "a-issues-cmd", "x": 670, "y": 215, "width": 270, "height": -65, "points": [[0,0],[270,-65]], "endArrowhead": "arrow", "strokeColor": "#22c55e", "strokeWidth": 2 }, { "type": "arrow", "id": "a-mrs-cmd", "x": 670, "y": 265, "width": 270, "height": -60, "points": [[0,0],[270,-60]], "endArrowhead": "arrow", "strokeColor": "#22c55e", "strokeWidth": 2 }, { "type": "arrow", "id": "a-docs-cmd", "x": 670, "y": 415, "width": 270, "height": -155, "points": [[0,0],[270,-155]], "endArrowhead": "arrow", "strokeColor": "#22c55e", "strokeWidth": 2 }, { "type": "arrow", "id": "a-embed-cmd", "x": 670, "y": 465, "width": 270, "height": -200, "points": [[0,0],[270,-200]], "endArrowhead": "arrow", "strokeColor": "#22c55e", "strokeWidth": 2 }, { "type": "arrow", "id": "a-events-cmd", "x": 670, "y": 365, "width": 270, "height": 5, "points": [[0,0],[270,5]], "endArrowhead": "arrow", "strokeColor": "#22c55e", "strokeWidth": 2 }, { "type": "text", "id": "hidden-note-1", "x": 695, "y": 498, "text": "mr_file_changes: populated by\nMR sync but NOT queryable.\nBlocks H4, A6, A10 flows.", "fontSize": 14, "strokeColor": "#ef4444" }, { "type": "text", "id": "hidden-note-2", "x": 695, "y": 568, "text": "entity_references: used by\ntimeline internally but NOT\nqueryable. Blocks A5, A11.", "fontSize": 14, "strokeColor": "#ef4444" }, { "type": "arrow", "id": "a-hidden-who", "x": 875, "y": 165, "width": 65, "height": 148, "points": [[0,0],[65,148]], "endArrowhead": "arrow", "strokeColor": "#ef4444", "strokeWidth": 2, "strokeStyle": "dashed" }, { "type": "text", "id": "hidden-who-label", "x": 880, "y": 240, "text": "who uses\nDiffNotes,\nnot file\nchanges", "fontSize": 12, "strokeColor": "#ef4444" }, { "type": "arrow", "id": "a-hidden-timeline", "x": 875, "y": 215, "width": 65, "height": 155, "points": [[0,0],[65,155]], "endArrowhead": "arrow", "strokeColor": "#ef4444", "strokeWidth": 2, "strokeStyle": "dashed" }, { "type": "rectangle", "id": "cmd-missing-refs", "x": 950, "y": 580, "width": 210, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#ffc9c9", "fillStyle": "solid", "strokeColor": "#ef4444", "strokeStyle": "dashed", "label": { "text": "lore refs (missing)", "fontSize": 16 } }, { "type": "rectangle", "id": "cmd-missing-files", "x": 950, "y": 635, "width": 210, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#ffc9c9", "fillStyle": "solid", "strokeColor": "#ef4444", "strokeStyle": "dashed", "label": { "text": "lore files (missing)", "fontSize": 16 } }, { "type": "rectangle", "id": "cmd-missing-activity", "x": 950, "y": 690, "width": 210, "height": 40, "roundness": { "type": 3 }, "backgroundColor": "#ffc9c9", "fillStyle": "solid", "strokeColor": "#ef4444", "strokeStyle": "dashed", "label": { "text": "lore activity (missing)", "fontSize": 16 } }, { "type": "text", "id": "legend-title", "x": 30, "y": 430, "text": "Legend", "fontSize": 16 }, { "type": "rectangle", "id": "leg-green", "x": 30, "y": 460, "width": 20, "height": 20, "backgroundColor": "#b2f2bb", "fillStyle": "solid" }, { "type": "text", "id": "leg-green-t", "x": 60, "y": 462, "text": "Queryable via CLI", "fontSize": 14 }, { "type": "rectangle", "id": "leg-red", "x": 30, "y": 490, "width": 20, "height": 20, "backgroundColor": "#ffc9c9", "fillStyle": "solid", "strokeColor": "#ef4444" }, { "type": "text", "id": "leg-red-t", "x": 60, "y": 492, "text": "Stored but hidden", "fontSize": 14 }, { "type": "rectangle", "id": "leg-gray", "x": 30, "y": 520, "width": 20, "height": 20, "backgroundColor": "#dee2e6", "fillStyle": "solid", "strokeColor": "#868e96" }, { "type": "text", "id": "leg-gray-t", "x": 60, "y": 522, "text": "Internal bookkeeping", "fontSize": 14 }, { "type": "rectangle", "id": "leg-dashed", "x": 30, "y": 550, "width": 20, "height": 20, "backgroundColor": "#ffc9c9", "fillStyle": "solid", "strokeColor": "#ef4444", "strokeStyle": "dashed" }, { "type": "text", "id": "leg-dashed-t", "x": 60, "y": 552, "text": "Missing command", "fontSize": 14 } ], "appState": { "viewBackgroundColor": "#ffffff", "gridSize": null }, "files": {} }