chore(matrix): final scrub of stale matrix references

A grep audit after the previous matrix removal commits found a handful
of stragglers in non-runtime files that the earlier sweeps missed:

- services/mana-llm/CLAUDE.md: removed matrix-ollama-bot from the
  consumer-apps diagram and from the related-services table
- services/mana-video-gen/CLAUDE.md: removed "Matrix Bots" integration
  bullet
- packages/notify-client/README.md: removed sendMatrix() doc entry
  (the method itself was already gone in the prior cleanup)
- docker/grafana/dashboards/logs-explorer.json: dropped the "Matrix
  Stack" log row that queried tier="matrix" (would show no data forever)
- docker/grafana/dashboards/master-overview.json: dropped the "Matrix
  Bots" stat panel that counted up{job=~"matrix-.*-bot"}
- apps/mana/apps/landing/src/data/ecosystem-health.json: regenerated via
  scripts/ecosystem-audit.mjs to drop matrix from the app list, icon
  counts, file analytics, top offenders and authGuard missing list
- .gitignore: removed services/matrix-stt-bot/data/ pattern (the
  service itself was deleted long ago)

Production-side stragglers also addressed (not in this commit):
- DROP USER synapse on prod Postgres (the parallel cleanup commit
  2514831a3 dropped DATABASE matrix + DATABASE synapse but left the
  role behind)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-08 16:47:54 +02:00
parent 7f382138a1
commit bfeeef7819
7 changed files with 1259 additions and 734 deletions

1
.gitignore vendored
View file

@ -129,5 +129,4 @@ pip-delete-this-directory.txt
# ML Models (large files, downloaded on demand)
mlx_models/
services/matrix-stt-bot/data/
services/mana-sync/server

View file

@ -1,30 +1,30 @@
{
"generatedAt": "2026-03-31T14:32:40.747Z",
"overallScore": 72,
"generatedAt": "2026-04-08T14:46:05.166Z",
"overallScore": 67,
"scores": {
"sharedPackages": 90,
"iconConsistency": 78,
"sharedPackages": 92,
"iconConsistency": 86,
"modalConsistency": 19,
"errorHandling": 16,
"i18nCoverage": 87,
"localFirst": 93,
"styleConsistency": 87,
"errorBoundaries": 52,
"errorHandling": 0,
"i18nCoverage": 50,
"localFirst": 100,
"styleConsistency": 75,
"errorBoundaries": 50,
"typescriptStrict": 100,
"testCoverage": 73,
"pwaSupport": 4,
"maintainability": 0,
"securityHeaders": 73,
"skeletonLoading": 77,
"testCoverage": 50,
"pwaSupport": 0,
"maintainability": 79,
"securityHeaders": 50,
"skeletonLoading": 50,
"toastConsistency": 100,
"storePattern": 94,
"sharedTypes": 53,
"depFreshness": 80,
"storePattern": 100,
"sharedTypes": 5,
"depFreshness": 60,
"bundleConfig": 100,
"gitActivity": 97,
"a11yIndicators": 36,
"authGuardCoverage": 83,
"dockerReadiness": 80
"gitActivity": 100,
"a11yIndicators": 33,
"authGuardCoverage": 50,
"dockerReadiness": 100
},
"weights": {
"sharedPackages": 20,
@ -53,496 +53,235 @@
},
"details": {
"icons": {
"adoption": 78,
"phosphorFiles": 347,
"inlineSvgFiles": 98,
"adoption": 86,
"phosphorFiles": 228,
"inlineSvgFiles": 38,
"perApp": {
"calc": {
"phosphor": 1,
"inlineSvg": 0
},
"calendar": {
"phosphor": 28,
"inlineSvg": 0
},
"chat": {
"phosphor": 18,
"inlineSvg": 0
},
"citycorners": {
"phosphor": 9,
"inlineSvg": 0
},
"clock": {
"phosphor": 3,
"inlineSvg": 7
},
"contacts": {
"phosphor": 27,
"inlineSvg": 4
},
"context": {
"phosphor": 13,
"inlineSvg": 0
},
"inventar": {
"phosphor": 12,
"inlineSvg": 1
},
"mana": {
"phosphor": 34,
"inlineSvg": 25
},
"cards": {
"phosphor": 2,
"inlineSvg": 1
"phosphor": 228,
"inlineSvg": 38
},
"manavoxel": {
"phosphor": 0,
"inlineSvg": 0
},
"matrix": {
"phosphor": 26,
"inlineSvg": 0
},
"memoro": {
"phosphor": 0,
"inlineSvg": 53
},
"moodlit": {
"phosphor": 5,
"inlineSvg": 0
},
"mukke": {
"phosphor": 21,
"inlineSvg": 0
},
"news": {
"phosphor": 1,
"inlineSvg": 0
},
"nutriphi": {
"phosphor": 6,
"inlineSvg": 1
},
"photos": {
"phosphor": 11,
"inlineSvg": 3
},
"picture": {
"phosphor": 27,
"inlineSvg": 0
},
"planta": {
"phosphor": 0,
"inlineSvg": 0
},
"playground": {
"phosphor": 4,
"inlineSvg": 1
},
"presi": {
"phosphor": 6,
"inlineSvg": 0
},
"questions": {
"phosphor": 7,
"inlineSvg": 0
},
"skilltree": {
"phosphor": 12,
"inlineSvg": 1
},
"storage": {
"phosphor": 25,
"inlineSvg": 1
},
"times": {
"phosphor": 13,
"inlineSvg": 0
},
"todo": {
"phosphor": 22,
"inlineSvg": 0
},
"uload": {
"phosphor": 3,
"inlineSvg": 0
},
"wisekeep": {
"phosphor": 2,
"inlineSvg": 0
},
"zitare": {
"phosphor": 9,
"inlineSvg": 0
}
}
},
"modals": {
"adoption": 19,
"total": 63,
"sharedUsage": 12,
"focusTrapUsage": 6
"total": 21,
"sharedUsage": 4,
"focusTrapUsage": 0
},
"packages": {
"coreAdoption": 90,
"totalApps": 30,
"coreAdoption": 92,
"totalApps": 2,
"perPackage": {
"Auth": {
"count": 30,
"total": 30,
"count": 2,
"total": 2,
"adoption": 100
},
"UI": {
"count": 29,
"total": 30,
"adoption": 97
"count": 2,
"total": 2,
"adoption": 100
},
"Theme": {
"count": 25,
"total": 30,
"adoption": 83
"count": 2,
"total": 2,
"adoption": 100
},
"Branding": {
"count": 29,
"total": 30,
"adoption": 97
"count": 1,
"total": 2,
"adoption": 50
},
"i18n": {
"count": 24,
"total": 30,
"adoption": 80
"count": 2,
"total": 2,
"adoption": 100
},
"Error Tracking": {
"count": 25,
"total": 30,
"adoption": 83
"count": 2,
"total": 2,
"adoption": 100
},
"Icons": {
"count": 26,
"total": 30,
"adoption": 87
"count": 2,
"total": 2,
"adoption": 100
},
"Local Store": {
"count": 28,
"total": 30,
"adoption": 93
"count": 2,
"total": 2,
"adoption": 100
}
}
},
"errors": {
"adoption": 16,
"inline": 217,
"shared": 40
"adoption": 0,
"inline": 103,
"shared": 0
},
"i18n": {
"adoption": 87,
"withI18n": 26,
"without": 4
"adoption": 50,
"withI18n": 1,
"without": 1
},
"localFirst": {
"adoption": 93,
"count": 28
"adoption": 100,
"count": 2
},
"styles": {
"themeAdoption": 83,
"tailwindAdoption": 90
"themeAdoption": 50,
"tailwindAdoption": 100
},
"errorBoundaries": {
"adoption": 52,
"errorAdoption": 27,
"offlineAdoption": 77,
"appsWithErrorPage": 8,
"appsWithOfflinePage": 23,
"adoption": 50,
"errorAdoption": 50,
"offlineAdoption": 50,
"appsWithErrorPage": 1,
"appsWithOfflinePage": 1,
"missing": {
"error": [
"calc",
"chat",
"citycorners",
"clock",
"context",
"cards",
"manavoxel",
"memoro",
"moodlit",
"mukke",
"news",
"nutriphi",
"photos",
"picture",
"planta",
"playground",
"questions",
"skilltree",
"storage",
"uload",
"wisekeep",
"zitare"
],
"offline": ["manavoxel", "memoro", "moodlit", "news", "playground", "uload", "wisekeep"]
"error": ["manavoxel"],
"offline": ["manavoxel"]
}
},
"typescript": {
"adoption": 100,
"strictApps": 30,
"strictApps": 2,
"nonStrict": []
},
"tests": {
"adoption": 73,
"e2eAdoption": 13,
"appsWithTests": 22,
"appsWithE2e": 4,
"totalTestFiles": 122,
"noTests": [
"calc",
"inventar",
"manavoxel",
"moodlit",
"news",
"playground",
"uload",
"wisekeep"
]
"adoption": 50,
"e2eAdoption": 50,
"appsWithTests": 1,
"appsWithE2e": 1,
"totalTestFiles": 27,
"noTests": ["manavoxel"]
},
"pwa": {
"adoption": 4,
"manifestAdoption": 7,
"adoption": 0,
"manifestAdoption": 0,
"swAdoption": 0,
"appsWithManifest": 2,
"appsWithManifest": 0,
"appsWithServiceWorker": 0,
"noPwa": [
"calc",
"calendar",
"chat",
"citycorners",
"clock",
"contacts",
"context",
"inventar",
"mana",
"cards",
"manavoxel",
"matrix",
"moodlit",
"mukke",
"news",
"nutriphi",
"photos",
"picture",
"planta",
"playground",
"presi",
"questions",
"skilltree",
"storage",
"times",
"todo",
"wisekeep",
"zitare"
]
"noPwa": ["mana", "manavoxel"]
},
"fileSizes": {
"adoption": 0,
"totalLargeFiles": 42,
"adoption": 79,
"totalLargeFiles": 7,
"largestFile": {
"path": "matrix: lib/matrix/store.svelte.ts",
"lines": 2019
"path": "mana: routes/(app)/llm-test/+page.svelte",
"lines": 1138
},
"topOffenders": [
{
"app": "matrix",
"file": "lib/matrix/store.svelte.ts",
"lines": 2019
"app": "mana",
"file": "routes/(app)/llm-test/+page.svelte",
"lines": 1138
},
{
"app": "calendar",
"file": "lib/components/event/QuickEventOverlay.svelte",
"lines": 1816
"app": "mana",
"file": "lib/modules/dreams/ListView.svelte",
"lines": 1070
},
{
"app": "contacts",
"file": "lib/components/ContactDetailModal.svelte",
"lines": 1502
"app": "mana",
"file": "lib/data/sync.ts",
"lines": 1001
},
{
"app": "todo",
"file": "lib/components/TaskItem.svelte",
"lines": 1194
"app": "mana",
"file": "routes/(app)/zitare/lists/[id]/+page.svelte",
"lines": 951
},
{
"app": "todo",
"file": "lib/components/board-views/ViewEditorModal.svelte",
"lines": 1187
"app": "manavoxel",
"file": "lib/engine/game.ts",
"lines": 757
},
{
"app": "contacts",
"file": "lib/components/NewContactModal.svelte",
"lines": 1130
"app": "manavoxel",
"file": "routes/+page.svelte",
"lines": 704
},
{
"app": "zitare",
"file": "routes/(app)/lists/[id]/+page.svelte",
"lines": 958
},
{
"app": "calendar",
"file": "lib/components/calendar/WeekView.svelte",
"lines": 946
},
{
"app": "calendar",
"file": "routes/(app)/settings/sync/+page.svelte",
"lines": 898
},
{
"app": "matrix",
"file": "routes/(auth)/login/+page.svelte",
"lines": 849
"app": "manavoxel",
"file": "lib/editor/sprite-editor.svelte",
"lines": 538
}
]
},
"todos": {
"totalCount": 33,
"totalCount": 7,
"perApp": {
"mana": 13,
"memoro": 11,
"contacts": 5,
"todo": 2,
"chat": 1,
"picture": 1
"mana": 7
}
},
"securityHeaders": {
"adoption": 73,
"appsWithHeaders": 22,
"missing": [
"manavoxel",
"memoro",
"moodlit",
"news",
"playground",
"times",
"uload",
"wisekeep"
]
"adoption": 50,
"appsWithHeaders": 1,
"missing": ["manavoxel"]
},
"skeletons": {
"adoption": 77,
"appsWithSkeletons": 23,
"missing": ["citycorners", "cards", "manavoxel", "planta", "presi", "times", "zitare"]
"adoption": 50,
"appsWithSkeletons": 1,
"missing": ["manavoxel"]
},
"toasts": {
"adoption": 100,
"sharedToast": 204,
"sharedToast": 36,
"customToast": 0
},
"storePattern": {
"adoption": 94,
"totalRunesStores": 177,
"totalOldStores": 12,
"appsWithRunesStores": 24,
"appsWithOldStores": 5
"adoption": 100,
"totalRunesStores": 9,
"totalOldStores": 0,
"appsWithRunesStores": 1,
"appsWithOldStores": 0
},
"sharedTypes": {
"adoption": 53,
"sharedTypeImports": 8,
"localTypeFiles": 7
"adoption": 5,
"sharedTypeImports": 2,
"localTypeFiles": 40
},
"depFreshness": {
"adoption": 80,
"totalDeps": 1106,
"avgDepsPerApp": 37
"adoption": 60,
"totalDeps": 96,
"avgDepsPerApp": 48
},
"bundleSize": {
"adoption": 100,
"appsWithBundleConfig": 30
"appsWithBundleConfig": 2
},
"gitActivity": {
"adoption": 97,
"activeApps": 29,
"adoption": 100,
"activeApps": 2,
"perApp": {
"mana": 166,
"todo": 135,
"calendar": 125,
"contacts": 95,
"mukke": 90,
"storage": 87,
"zitare": 80,
"chat": 73,
"picture": 70,
"presi": 68,
"clock": 64,
"cards": 63,
"citycorners": 61,
"nutriphi": 56,
"photos": 56,
"planta": 55,
"context": 48,
"matrix": 48,
"skilltree": 46,
"questions": 39,
"inventar": 19,
"playground": 18,
"manavoxel": 11,
"uload": 10,
"calc": 6,
"moodlit": 5,
"times": 5,
"news": 4,
"wisekeep": 4,
"memoro": 0
"mana": 94,
"manavoxel": 16
}
},
"a11y": {
"adoption": 36,
"adoption": 33,
"altAdoption": 100,
"dialogAdoption": 0,
"trapAdoption": 7,
"totalImgFiles": 21,
"totalImgWithAlt": 21
"trapAdoption": 0,
"totalImgFiles": 7,
"totalImgWithAlt": 7
},
"authGuard": {
"adoption": 83,
"appsWithAuthGuard": 25,
"missing": ["mana", "manavoxel", "matrix", "memoro", "playground"]
"adoption": 50,
"appsWithAuthGuard": 1,
"missing": ["manavoxel"]
},
"docker": {
"adoption": 80,
"appsWithDockerfile": 24,
"missing": ["context", "moodlit", "news", "planta", "questions", "wisekeep"]
"adoption": 100,
"appsWithDockerfile": 2,
"missing": []
}
},
"apps": [
"calc",
"calendar",
"chat",
"citycorners",
"clock",
"contacts",
"context",
"inventar",
"mana",
"cards",
"manavoxel",
"matrix",
"memoro",
"moodlit",
"mukke",
"news",
"nutriphi",
"photos",
"picture",
"planta",
"playground",
"presi",
"questions",
"skilltree",
"storage",
"times",
"todo",
"uload",
"wisekeep",
"zitare"
]
"apps": ["mana", "manavoxel"]
}

View file

@ -1,5 +1,7 @@
{
"annotations": { "list": [] },
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 1,
@ -8,17 +10,27 @@
"panels": [
{
"collapsed": false,
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 },
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"panels": [],
"title": "Overview",
"type": "row"
},
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": { "mode": "palette-classic" },
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
@ -26,68 +38,115 @@
"barAlignment": 0,
"drawStyle": "bars",
"fillOpacity": 80,
"stacking": { "group": "A", "mode": "normal" }
"stacking": {
"group": "A",
"mode": "normal"
}
}
}
},
"gridPos": { "h": 6, "w": 12, "x": 0, "y": 1 },
"gridPos": {
"h": 6,
"w": 12,
"x": 0,
"y": 1
},
"id": 2,
"title": "Log Volume by Tier",
"type": "timeseries",
"targets": [
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"expr": "sum by (tier) (count_over_time({tier=~\".+\"} [$__interval]))",
"refId": "A"
}
]
},
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": { "mode": "palette-classic" },
"color": {
"mode": "palette-classic"
},
"custom": {
"drawStyle": "bars",
"fillOpacity": 80,
"stacking": { "group": "A", "mode": "normal" }
"stacking": {
"group": "A",
"mode": "normal"
}
}
}
},
"gridPos": { "h": 6, "w": 12, "x": 12, "y": 1 },
"gridPos": {
"h": 6,
"w": 12,
"x": 12,
"y": 1
},
"id": 3,
"title": "Errors & Warnings",
"type": "timeseries",
"targets": [
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"expr": "sum by (level) (count_over_time({tier=~\".+\"} |~ \"(?i)(error|warn|fatal|panic)\" [$__interval]))",
"refId": "A"
}
]
},
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{ "color": "green", "value": null },
{ "color": "yellow", "value": 50 },
{ "color": "red", "value": 200 }
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 50
},
{
"color": "red",
"value": 200
}
]
}
}
},
"gridPos": { "h": 6, "w": 6, "x": 0, "y": 7 },
"gridPos": {
"h": 6,
"w": 6,
"x": 0,
"y": 7
},
"id": 4,
"title": "Errors (last 1h)",
"type": "stat",
"targets": [
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"expr": "sum(count_over_time({tier=~\".+\"} |~ \"(?i)(error|fatal|panic)\" [1h]))",
"refId": "A",
"instant": true
@ -95,27 +154,47 @@
]
},
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{ "color": "green", "value": null },
{ "color": "yellow", "value": 100 },
{ "color": "red", "value": 500 }
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 100
},
{
"color": "red",
"value": 500
}
]
}
}
},
"gridPos": { "h": 6, "w": 6, "x": 6, "y": 7 },
"gridPos": {
"h": 6,
"w": 6,
"x": 6,
"y": 7
},
"id": 5,
"title": "Warnings (last 1h)",
"type": "stat",
"targets": [
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"expr": "sum(count_over_time({tier=~\".+\"} |~ \"(?i)warn\" [1h]))",
"refId": "A",
"instant": true
@ -123,20 +202,36 @@
]
},
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": { "mode": "palette-classic" },
"custom": { "displayMode": "gradient", "showValue": "auto" }
"color": {
"mode": "palette-classic"
},
"custom": {
"displayMode": "gradient",
"showValue": "auto"
}
}
},
"gridPos": { "h": 6, "w": 12, "x": 12, "y": 7 },
"gridPos": {
"h": 6,
"w": 12,
"x": 12,
"y": 7
},
"id": 6,
"title": "Top 10 Noisiest Services",
"type": "barchart",
"targets": [
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"expr": "topk(10, sum by (service) (count_over_time({tier=~\".+\"} [1h])))",
"refId": "A",
"instant": true
@ -145,15 +240,28 @@
},
{
"collapsed": false,
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 13 },
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 13
},
"id": 10,
"panels": [],
"title": "Error Logs",
"type": "row"
},
{
"datasource": { "type": "loki", "uid": "loki" },
"gridPos": { "h": 10, "w": 24, "x": 0, "y": 14 },
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 10,
"w": 24,
"x": 0,
"y": 14
},
"id": 11,
"title": "Errors across all services",
"type": "logs",
@ -169,7 +277,10 @@
},
"targets": [
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"expr": "{tier=~\".+\"} |~ \"(?i)(error|fatal|panic)\"",
"refId": "A"
}
@ -177,12 +288,25 @@
},
{
"collapsed": true,
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 24 },
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 24
},
"id": 20,
"panels": [
{
"datasource": { "type": "loki", "uid": "loki" },
"gridPos": { "h": 12, "w": 24, "x": 0, "y": 25 },
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 12,
"w": 24,
"x": 0,
"y": 25
},
"id": 21,
"title": "Auth Service Logs",
"type": "logs",
@ -195,7 +319,10 @@
},
"targets": [
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"expr": "{tier=\"auth\"}",
"refId": "A"
}
@ -207,12 +334,25 @@
},
{
"collapsed": true,
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 25 },
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 25
},
"id": 30,
"panels": [
{
"datasource": { "type": "loki", "uid": "loki" },
"gridPos": { "h": 12, "w": 24, "x": 0, "y": 26 },
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 12,
"w": 24,
"x": 0,
"y": 26
},
"id": 31,
"title": "Core Service Logs",
"type": "logs",
@ -225,7 +365,10 @@
},
"targets": [
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"expr": "{tier=\"core\"}",
"refId": "A"
}
@ -237,12 +380,25 @@
},
{
"collapsed": true,
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 26 },
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 26
},
"id": 40,
"panels": [
{
"datasource": { "type": "loki", "uid": "loki" },
"gridPos": { "h": 12, "w": 24, "x": 0, "y": 27 },
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 12,
"w": 24,
"x": 0,
"y": 27
},
"id": 41,
"title": "Web App Logs",
"type": "logs",
@ -255,7 +411,10 @@
},
"targets": [
{
"datasource": { "type": "loki", "uid": "loki" },
"datasource": {
"type": "loki",
"uid": "loki"
},
"expr": "{tier=\"app\"} | service =~ \"$service\"",
"refId": "A"
}
@ -264,36 +423,6 @@
],
"title": "Web Apps",
"type": "row"
},
{
"collapsed": true,
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 27 },
"id": 50,
"panels": [
{
"datasource": { "type": "loki", "uid": "loki" },
"gridPos": { "h": 12, "w": 24, "x": 0, "y": 28 },
"id": 51,
"title": "Matrix Stack Logs",
"type": "logs",
"options": {
"showTime": true,
"showLabels": true,
"wrapLogMessage": true,
"enableLogDetails": true,
"sortOrder": "Descending"
},
"targets": [
{
"datasource": { "type": "loki", "uid": "loki" },
"expr": "{tier=\"matrix\"}",
"refId": "A"
}
]
}
],
"title": "Matrix Stack",
"type": "row"
}
],
"refresh": "30s",
@ -302,8 +431,15 @@
"templating": {
"list": [
{
"current": { "selected": false, "text": "All", "value": "$__all" },
"datasource": { "type": "loki", "uid": "loki" },
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"datasource": {
"type": "loki",
"uid": "loki"
},
"definition": "label_values(service)",
"includeAll": true,
"multi": true,
@ -313,8 +449,15 @@
"type": "query"
},
{
"current": { "selected": false, "text": "All", "value": "$__all" },
"datasource": { "type": "loki", "uid": "loki" },
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
"datasource": {
"type": "loki",
"uid": "loki"
},
"definition": "label_values(tier)",
"includeAll": true,
"multi": true,
@ -325,7 +468,10 @@
}
]
},
"time": { "from": "now-1h", "to": "now" },
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "Logs Explorer",

File diff suppressed because it is too large Load diff

View file

@ -125,7 +125,6 @@ new NotifyClient({
##### Other Channels
- `sendMatrix(options)` - Send a Matrix message
- `sendWebhook(options)` - Send a webhook
##### Batch & Management

View file

@ -17,7 +17,7 @@ mana-llm acts as a central gateway for all LLM requests in the monorepo, providi
```
┌─────────────────────────────────────────────────────────────────────┐
│ Consumer Apps │
matrix-ollama-bot │ telegram-ollama-bot │ chat-backend │ etc.
chat-backend │ mana web │ todo (LLM enrich) │ etc.
└────────────────────────────────┬────────────────────────────────────┘
│ HTTP/SSE
@ -288,5 +288,3 @@ while (true) {
| mana-tts | 3022 | Text-to-speech service |
| mana-stt | 3023 | Speech-to-text service |
| mana-search | 3021 | Web search & extraction |
| matrix-ollama-bot | - | Matrix bot (consumer) |
| telegram-ollama-bot | - | Telegram bot (consumer) |

View file

@ -151,7 +151,6 @@ The GPU server runs multiple AI services. LTX-Video uses ~10 GB VRAM:
Used by:
- **Picture App** — video generation alongside images
- **Chat App** — inline video generation
- **Matrix Bots** — video generation via chat commands
### Example (TypeScript)