# Kanban-Analyse Hermes Workspace Stand: 2026-08-02. Diese Analyse wurde read-only durchgeführt. Es wurden keine Kanban-Karten, Statuswerte, Spalten, Volumes oder Container verändert. ## 1. Zusammenfassung Der Workspace verwendet nicht sein eigenes `data`-Verzeichnis als Kanban- Datenbank. Die aktive Auswahl ist `hermes-proxy`; die Karten werden über das Hermes-Dashboard unter `127.0.0.1:9130` aus der produktiven Hermes-Carlo- Kanban-Datenbank gelesen. Die Workspace-Implementierung mappt nur bekannte Statuswerte. Unbekannte Statuswerte fallen im Code ausdrücklich auf die interne Lane `backlog` zurück. Die sichtbare Workspace-Bezeichnung für `backlog` ist `Triage`. Das erklärt, warum Karten mit den produktiven Statuswerten `active_now`, `next`, `building`, `planned`, `on_hold`, `idea` und `archive` in Triage erscheinen. ## 2. Container und Datenpfade `hermes-carlo` bindet unter anderem `/opt/struktur/hermes-carlo/data` nach `/opt/data` ein und `/opt/struktur/hermes-carlo/hermes-home` nach `/root/.hermes`. Dort liegt die produktive `kanban.db`. `hermes-carlo-komfort` hat nur den Bind-Mount `/opt/struktur/hermes-ui-auswahl/data` → `/home/workspace/.hermes`. Dieser Mount enthält Workspace-Daten, aber keine Kanban-Datenbank. Die Compose- Datei verwendet kein Docker-Volume und keinen produktiven Kanban-Pfad. Die Workspace-API meldet: ```text backend: hermes-proxy path: http://127.0.0.1:9130 detected: true writable: true ``` ## 3. Speicher- und Mappingverfahren Hermes Workspace v2.3.0 verwendet bei erkanntem Dashboard-Kanban-Plugin den HTTP-Proxy `/api/plugins/kanban/board`. Die produktive Datenbank ist `/opt/struktur/hermes-carlo/data/kanban.db`. Im Workspace-Code: - `triage`, `todo`, `queued` → interne Lane `backlog` - `ready` → `ready` - `running`, `claimed`, `in_progress` → `running` - `review` → `review` - `blocked` → `blocked` - `done`, `complete`, `completed` → `done` - jeder unbekannte Status → `backlog` Die interne Lane `backlog` wird in `src/lib/tasks-api.ts` als `Triage` angezeigt. Es gibt keinen separaten Workspace-Kanban-Store für diesen Pfad. ## 4. Aktueller Bestand Read-only-Abfrage der Workspace-API: 35 Karten. Produktive Rohstatus aus `kanban.db`: | Status | Anzahl | |---|---:| | active_now | 3 | | archive | 1 | | blocked | 1 | | building | 10 | | done | 1 | | idea | 5 | | next | 5 | | on_hold | 3 | | planned | 1 | | ready | 2 | | todo | 3 | Nach Workspace-Mapping ergeben sich 31 Karten in `backlog`/`Triage`, 2 in `ready`, 1 in `blocked` und 1 in `done`. Die Dashboard-Rohantwort enthält acht Spalten (`triage`, `todo`, `scheduled`, `ready`, `running`, `blocked`, `review`, `done`), aber 31 Karten in `todo`. Ihre Statusfelder tragen dabei die oben genannten benutzerdefinierten Werte. ## 5. Frühere Datenbestände Der aktuelle Bestand umfasst 35 Karten. Ein Backup vom 17.07.2026 umfasst 34 Karten und hat dieselben benutzerdefinierten Statusfamilien. Die aktuelle DB enthält alle 34 IDs aus diesem Backup plus eine weitere Karte. Ein älterer Datenbestand vom 01.06.2026 ist weiterhin vorhanden: - Datei: `/opt/struktur/hermes-carlo/data/kanban.db.backup_1780321076` - 90 Karten - Status: `backlog` 4, `blocked` 26, `done` 17, `ready` 5, `todo` 38 - Überschneidung mit aktueller DB: 7 IDs - Nur im alten Backup: 83 IDs Damit ist nachgewiesen, dass ein früherer, größerer und anders sortierter Datenbestand noch vorhanden ist. Er wurde nicht wiederhergestellt. ## 6. Ursache Hauptursache ist eine Kombination aus: 1. Der aktuelle aktive Kanban-Datenbestand ist kleiner als der ältere 90-Karten-Bestand und stammt aus einer späteren Datenbankgeneration. 2. Die aktuelle DB verwendet zusätzliche Statuswerte, die der Workspace-Code nicht kennt. 3. Der Workspace fällt für unbekannte Statuswerte pauschal auf `backlog`/ `Triage` zurück. Es handelt sich daher primär um eine Status-/Darstellungszuordnung und um die Verwendung eines späteren aktiven Datenbestands, nicht um den Nachweis, dass alle früheren Karten verloren sind. Ein älterer Bestand ist vorhanden. ## 7. Browser-Speicher Eine Prüfung von LocalStorage, IndexedDB, Cookies oder Browserprofilen wurde nicht durchgeführt, weil diese Daten in der Browser-Sicherheitsrichtlinie nicht ausgelesen werden dürfen. Die serverseitige Analyse reicht aus, um die aktive Kanban-Quelle und die Triage-Zuordnung eindeutig zu bestimmen. ## 8. Risiko und Reparaturoptionen Es wurde keine Reparatur vorgenommen. Empfohlene spätere Reparaturoption: zuerst ein neues Backup des aktuellen Bestands erstellen, anschließend die gewünschte historische Quelle und die Status-/Spalten-Mappingregeln fachlich bestätigen. Danach entweder den Workspace-Code um die produktiven Statuswerte erweitern oder die Dashboard- Darstellung so anpassen, dass die benutzerdefinierten Statuswerte eigenen Spalten zugeordnet werden. Der ältere 90-Karten-Bestand darf nicht blind in die aktive DB kopiert werden; wegen der geringen ID-Überschneidung wäre das eine Migration mit Duplikat- und Semantikrisiko. Rollback wäre nur möglich, wenn eine spätere Reparatur ausschließlich nach einem vollständigen DB-Backup erfolgt und die aktive Datenbankdatei unverändert zurückgespielt werden kann. Das wurde hier nicht ausgeführt. ## 9. Relevante SHA-256-Werte ```text 70eed208f89e3203057be7ed0d781d811d4e541cba87bd3168c6eaa1879d169d /opt/struktur/hermes-carlo/data/kanban.db d9bd804ecc7f0f069f3210a2f6259b50d4b801710f661c4f6175786fcdb5be2b /opt/struktur/hermes-carlo/data/kanban.db.backup_pre_session_lifecycle_20260717T170559Z dfb333a218311e927b89ba23e4509471e8fadd00b66636151ce79b805b78fa81 /opt/struktur/hermes-carlo/data/kanban.db.backup_1780321076 191aafaa0d4b3b597ca1d370107ca106c96da3ff5063d460dcb779b40301fe55 /opt/struktur/hermes-ui-auswahl/compose.yaml 02259d86455d3334314f793227f854f9e3c4636b23837c836ad06c37136564e4 /opt/struktur/hermes-ui-auswahl/hermes-workspace/src/server/kanban-backend.ts 3aa2c969243f408bd5dd3894d56d97007adf6a7b760575ef6ae9e7404e428a9a /opt/struktur/hermes-ui-auswahl/hermes-workspace/src/server/kanban-dashboard-proxy.ts a25e6a9f44604d95de6caf88c948a4d4099c9e461880738261c44749cc073de6 /opt/struktur/hermes-ui-auswahl/hermes-workspace/src/lib/tasks-api.ts ``` Die genannten Dateien wurden nicht verändert. ## 10. Verwendete read-only Abfragen `docker ps`, `docker inspect`, `docker compose ls`, `find`, `grep`, `stat`, `sha256sum`, HTTP-GET auf Workspace-/Dashboard-Kanban-Endpunkte sowie `sqlite3 -readonly` mit `.tables`, Schema- und `SELECT`-Statusabfragen. Keine UPDATE-, INSERT-, DELETE-, VACUUM-, Migrations-, Import-, Reindex- oder Containerbefehle wurden ausgeführt.