Explorer
/proc/58/root/tmp/KANBAN-ANALYSE.md
← Zurück ↓ Download
# 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.