{"queue_id": 15, "relative_path": "Architecture/HERMES-MARIE-UPGRADE-PLAN.md", "title": "HERMES-MARIE-UPGRADE-PLAN", "import_key": "e44fa3bb4cd10e6ab73054a9a01e639d83c894379dbd4b56b72d391eaff78bef", "chunk_count": 16, "created_nodes": 17, "created_relationships": 31, "body": null, "chunks": [{"chunk_key": "c6e042a70880084684a733f430a8ead562ff4f7e75e4d258d62bb53c22e90c6b", "chunk_index": 0, "heading": "HERMES-MARIE-UPGRADE-PLAN", "text": "# HERMES-MARIE-UPGRADE-PLAN\n\n*Erstellt: 2026-05-30*\n*Status: Plan — keine Änderungen durchgeführt*\n*Freigabe erforderlich vor Umsetzung*\n\n---", "text_hash": "15a88ec20a8e45db7017f01035b7ad438ce9eee8ca68191afcf69db6c1178ac0"}, {"chunk_key": "081c2ffcbb42d5a391d84c51e9162f533fcc0eb94615b3ad3c7afd6f09163273", "chunk_index": 1, "heading": "Ziel", "text": "# HERMES-MARIE-UPGRADE-PLAN\n\n*Erstellt: 2026-05-30*\n*Status: Plan — keine Änderungen durchgeführt*\n*Freigabe erforderlich vor Umsetzung*\n\n---\n## Ziel\n\nHermes-Marie auf denselben operativen Stand bringen wie Hermes-Carlo nach dem Docker-Socket-Ausbau.\n\n---", "text_hash": "0b2f9b1a2848209ab56b717d66d3c4f339f4b32ea2f8c7a9b1cc749b8b532255"}, {"chunk_key": "b92fa84ea08297d137501639a5e2d697cebcf62ed26ee7ee0fa38e49b453e2fd", "chunk_index": 2, "heading": "Betroffene Dateien", "text": "## Ziel\n\nHermes-Marie auf denselben operativen Stand bringen wie Hermes-Carlo nach dem Docker-Socket-Ausbau.\n\n---\n## Betroffene Dateien\n\n**Primär:**\n```\n/opt/struktur/hermes-workspace-mari/docker-compose.yml\n```\n\n**Backup-Ziel (vor Änderung erstellen):**\n```\n/opt/struktur/hermes-workspace-mari/docker-compose.yml.backup-<DATUM>\n```\n\n---", "text_hash": "50992f558aa08ef81b206e24525811e49730cb64bb3fffd4c6749fcd8d941c46"}, {"chunk_key": "fd040efd07203f41ca49998de2694839a3b0c2e57227e7c284a71854474f01a2", "chunk_index": 3, "heading": "Schritt 1 — Backup", "text": "i/docker-compose.yml\n```\n\n**Backup-Ziel (vor Änderung erstellen):**\n```\n/opt/struktur/hermes-workspace-mari/docker-compose.yml.backup-<DATUM>\n```\n\n---\n## Schritt 1 — Backup\n\n```bash\ncp /opt/struktur/hermes-workspace-mari/docker-compose.yml \\\n /opt/struktur/hermes-workspace-mari/docker-compose.yml.backup-$(date +%Y%m%d-%H%M%S)\n```\n\n---", "text_hash": "14415f2493a8bc0647de0ef627c7cd6cf3861a954fdcc14de7201836633e9a72"}, {"chunk_key": "e7a51b90af2864d5ff5dce2647cb404499e63789c032279e22b130559291be77", "chunk_index": 4, "heading": "Schritt 2 — Änderungen am Agent-Service", "text": "t/struktur/hermes-workspace-mari/docker-compose.yml \\\n /opt/struktur/hermes-workspace-mari/docker-compose.yml.backup-$(date +%Y%m%d-%H%M%S)\n```\n\n---\n## Schritt 2 — Änderungen am Agent-Service\n\nIm `hermes-agent`-Service folgende Volumes hinzufügen:\n\n```yaml\nservices:\n hermes-agent:\n volumes:\n - claude-data:/opt/data # bestehend\n - /var/run/docker.sock:/var/run/docker.sock # NEU: Docker-Kontrolle\n - /opt/struktur:/opt/struktur # NEU: Projektdateien\n - /opt/obsidian-vault:/opt/obsidian-vault # NEU: KB-Zugriff\n```\n\n**Nicht ändern:**\n- hermes-workspace Service\n- Ports\n- Netzwerke\n- Umgebungsvariablen\n- Image\n\n---", "text_hash": "99c2c67cf4dd35561884684ea643a2dfdfcad679fc882c7e2bcc23709c79760e"}, {"chunk_key": "ac6f6da04dd57c9cccebdf23adfa20d7ac74e0661078cd07460ecfde1d3f80fc", "chunk_index": 5, "heading": "Schritt 3 — Recreate nur des Agent-Containers", "text": "-vault:/opt/obsidian-vault # NEU: KB-Zugriff\n```\n\n**Nicht ändern:**\n- hermes-workspace Service\n- Ports\n- Netzwerke\n- Umgebungsvariablen\n- Image\n\n---\n## Schritt 3 — Recreate nur des Agent-Containers\n\n```bash\ncd /opt/struktur/hermes-workspace-mari\ndocker compose up -d --force-recreate hermes-agent\n```\n\nNur den `hermes-agent`-Service recreaten. Der `hermes-workspace` (Frontend) muss nicht neu gestartet werden.\n\n---", "text_hash": "fafd2df9defc7418d25a719f6cbe2994d28517f3aaf5caf76d1a227ee949f8d7"}, {"chunk_key": "bc9924d51b2417060ed45c3091f0d017b0e0eeee1bad358cc4e0b97c10c22f71", "chunk_index": 6, "heading": "Schritt 4 — Tests nach Umbau", "text": "d --force-recreate hermes-agent\n```\n\nNur den `hermes-agent`-Service recreaten. Der `hermes-workspace` (Frontend) muss nicht neu gestartet werden.\n\n---\n## Schritt 4 — Tests nach Umbau\n\n```bash", "text_hash": "02df14e42008097f16349edde6d3aa29e296e3c2c7452f5c670788825cb81a7f"}, {"chunk_key": "6e1c55ca8e3db6c208365f5f2019e0c9d725d53fc882e53520d1604f328efd91", "chunk_index": 7, "heading": "Test 1: Docker-Socket", "text": "## Schritt 4 — Tests nach Umbau\n\n```bash\n# Test 1: Docker-Socket\ndocker exec hermes-mari-agent docker ps", "text_hash": "e1da5ada904477757fb39858054d6f69bd6a4007017816e4a01dd564f7f927d8"}, {"chunk_key": "ef18fe004d30070c68a0fad10d5123df69083b6b8c073fdd268a3ddb710c09ea", "chunk_index": 8, "heading": "Test 2: Projektdateizugriff", "text": "# Test 1: Docker-Socket\ndocker exec hermes-mari-agent docker ps\n# Test 2: Projektdateizugriff\ndocker exec hermes-mari-agent ls /opt/struktur/", "text_hash": "4e7986b27cb4c902f08f6b98329d470a5bb2a3fd163ac59e2157f2b5b6c59f52"}, {"chunk_key": "a4395fc3cdf79c837f7941275a3b386a902e88c23abbff30ca305e57a1df1a9c", "chunk_index": 9, "heading": "Test 3: Obsidian-Zugriff", "text": "# Test 2: Projektdateizugriff\ndocker exec hermes-mari-agent ls /opt/struktur/\n# Test 3: Obsidian-Zugriff\ndocker exec hermes-mari-agent ls /opt/obsidian-vault/ | head -5", "text_hash": "cf676c7107a55ae7ec97d724736ac41934ed81c3e2b7c7fd615cfea5181bb04a"}, {"chunk_key": "a38a0949da877c8acf951525c4004df704d5a1cdfeb5ca9562eeb5ffa03be0e6", "chunk_index": 10, "heading": "Test 4: docker logs", "text": "# Test 3: Obsidian-Zugriff\ndocker exec hermes-mari-agent ls /opt/obsidian-vault/ | head -5\n# Test 4: docker logs\ndocker exec hermes-mari-agent docker logs --tail 10 n8n", "text_hash": "28732d038a0553ec18e3c1ec77a416d7d9a6b55aa359b2a0d1cce8b527bbafff"}, {"chunk_key": "c317f81bda4db5e64eea67a8b5e85050a59ef250078517acc4aa480be6e3b966", "chunk_index": 11, "heading": "Test 5: State-Check", "text": "# Test 4: docker logs\ndocker exec hermes-mari-agent docker logs --tail 10 n8n\n# Test 5: State-Check\ndocker exec hermes-mari-agent docker inspect hermes-mari-agent --format '{{.State.Status}}'\n```\n\n**Nicht testen (nicht erlaubt):**\n- Kein Container-Restart über Marie\n- Keine Dateiänderungen über Marie\n\n---", "text_hash": "afe8eebe56378cea2069312daa8ea7d3643d17f3806b10134abf9f6974f9d8f7"}, {"chunk_key": "39ec2087be588bf8c54adcb415c79964a5f58d8df6e01f21d3951a9f8157d5dc", "chunk_index": 12, "heading": "Risiken", "text": "-agent --format '{{.State.Status}}'\n```\n\n**Nicht testen (nicht erlaubt):**\n- Kein Container-Restart über Marie\n- Keine Dateiänderungen über Marie\n\n---\n## Risiken\n\n| Risiko | Wahrscheinlichkeit | Auswirkung | Maßnahme |\n|---|---|---|---|\n| Agent-Container startet nicht | Niedrig | Marie-Agent offline | Rollback |\n| Workspace verliert API-Verbindung | Niedrig | Frontend-Fehler | Workspace separat neu starten |\n| Konflikte mit bestehenden Mounts | Sehr niedrig | Keine | Backup vorhanden |\n\n---", "text_hash": "4f93e0f8b654915b1e7fc34b1268b9d138474cf63a632bc01dfdb35b992292be"}, {"chunk_key": "3660d02c8b50fd1b720443ef65e2d71f99d9ba0d8b3c316fc483e8b7d5be5da6", "chunk_index": 13, "heading": "Rollback", "text": "dung | Niedrig | Frontend-Fehler | Workspace separat neu starten |\n| Konflikte mit bestehenden Mounts | Sehr niedrig | Keine | Backup vorhanden |\n\n---\n## Rollback\n\n```bash\ncd /opt/struktur/hermes-workspace-mari\ncp docker-compose.yml.backup-<DATUM> docker-compose.yml\ndocker compose up -d --force-recreate hermes-agent\n```\n\n---", "text_hash": "ccf195ba1ea630bb9f4524f6b8951b3491b5ad0f1af4f95971a3e67bc1f0380f"}, {"chunk_key": "734ff303da9fd889dc2de4002236c8c98155f419b6f39d9a19453ba4c2b31df1", "chunk_index": 14, "heading": "Sicherheitshinweis", "text": "opt/struktur/hermes-workspace-mari\ncp docker-compose.yml.backup-<DATUM> docker-compose.yml\ndocker compose up -d --force-recreate hermes-agent\n```\n\n---\n## Sicherheitshinweis\n\nIdentisch mit Carlo: Docker-Socket entspricht Root-ähnlichem Host-Zugriff. Freigabe muss bewusst erfolgen.\n\n---", "text_hash": "199444681bc72b33f03f34e3c99a5f2c88c4e5dbaa50364e544bb1aeeda024be"}, {"chunk_key": "e050a1d6b0238b2c007d17a97fdb767fbfcd44374cc6fed5de8ae9b0849103db", "chunk_index": 15, "heading": "Ausstehende Entscheidung", "text": "## Sicherheitshinweis\n\nIdentisch mit Carlo: Docker-Socket entspricht Root-ähnlichem Host-Zugriff. Freigabe muss bewusst erfolgen.\n\n---\n## Ausstehende Entscheidung\n\nVor Umsetzung klären: Welches Modell / Provider soll Marie nach dem Ausbau nutzen?", "text_hash": "65ed5239d4a240330f8432ba051e32dac0c8ef0a72cb3b83d745bc7b0ff701de"}], "elapsed_s": 0.047}