doku: Historisches ins Archiv, Ueberfluessiges geloescht

- 19 Dateien nach docs/archiv/ mit Datumspraefix (JJJJ-MM-TT-): SAVEPOINT, Autonomie-,
  Optimierungs- und TTS-Plan, Review 02.07., ZeroClaw-Auftrag und -Ergebnis, Hermes-Setup,
  Gemini-Briefing, Antigravity-Review-Prompt, Zielbild, Uebergabe Drei Welten,
  Umbauplan Abloesung, Hermes-Werkzeuge, Raphael, die drei Dateien aus docs/aufgaben
  und der Skill-Text gitea-workflow.
- Die alte Liste OFFENE-FAEDEN (Stand 04.09.) ebenfalls ins Archiv; sie enthaelt die
  Lucy-Faeden, die sonst verloren gingen. Die neue Liste folgt im naechsten Schritt.
- Geloescht (kein eigenes Wissen, Git-Historie reicht): docs/memory/* (4 Kopien der
  Claude-Notizen vom Juni), STATUS, CUTOVER, AUDIT_KICKOFF, CLAUDE_CODE_BRIEF,
  UPGRADE und skills/orchestrator.md (Quelle war der Skill selbst).
- Formatfehler im Archiv behoben: uebrig gebliebene </content>-Tags im Optimierungsplan
  und im ZeroClaw-Auftrag; toter Link auf GEDAECHTNIS-BEREICHE.md zeigt jetzt auf die
  Git-Historie (geloescht am 07.08., c3851f8).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-09-24 15:31:00 +02:00
co-authored by Claude Opus 5.5
parent 4cd856bd34
commit 59631601b9
30 changed files with 1 additions and 799 deletions
@@ -0,0 +1,103 @@
# ÜBERGABE: Drei-Welten-Umbau (19.07.2026) — letzter Claude-Stand
> [!WARNING]
> **UPDATE (August 2026):** Der hier beschriebene "Zed + OpenCode CLI"-Workflow wurde durch das "Zero Middle-Layers"-Prinzip ersetzt. Coding passiert jetzt zu 100% in der **OpenCode Desktop** Agentic IDE via MCP. Die technischen Entscheidungen zur Box und zu Gitea bleiben jedoch gültig.
**Dieses Dokument ist die finale Übergabe der externen Claude-Sessions an die Box.**
Alles Wichtige aus dem Umbau vom 19.07. steht HIER (nicht nur im Claude-Gedächtnis,
das mit dem Abo-Ende unlesbar wird). Bei Widerspruch zu älteren Dokumenten gilt dieses.
## Die Architektur: Drei Welten, eine Brücke
| Welt | Rolle | Darf | Darf NICHT |
|---|---|---|---|
| **AI-Box** | Rechenzentrum: llama-swap, MC2 :9001, Gateway :9010, Gitea, Backups | bedient beide Welten | — |
| **Lucy = Autonome Box** | Chat/Stimme, mem0, Crons, Kanban-Fangnetz, **Betrieb-Bahn** | als EINZIGE Infra anfassen (SSH, Deploys, LXCs) | — |
| **Agentic IDE (PC)** | Vibe Coding: **Zed** (einziges Fenster) + OpenCode-CLI als unsichtbarer ACP-Motor | Code bauen in F:\Coding Stuff, Modelle via :9001/v1 | SSH/Infra (deny), mem0 (hat keins), Direkt-Push main |
**Brücke:** Gitea-Repos + Kanban-Karten. Deploy-Wünsche der IDE = geheimnisfreie
Playbook-Karte an `betrieb`. Beweis 19.07.: Homepage-Deploy auf LXC 106 in 92 s
(Karte t_36117427) — nach Nächten voller Schleifen davor.
## Was am 19.07. gebaut wurde (MC2-Commits `903f3bc`, `a1d7a4b`, `6b03a2c`)
1. **No-Progress-Bremse** (`deploy/agent-hooks/no-progress-bremse.py`, pre+post_tool_call,
registriert in Haupt-config + betrieb + werkstatt): 3× gleiches Ergebnismuster
(Zahlen/Hex wegnormalisiert, KEINE hartkodierten Strings) → mechanischer Block mit
Diagnose-Anweisung, Folgeversuch frei. terminal wird IMMER beobachtet (Fehler tarnen
sich dort als Erfolg), andere Tools nur bei status=error. State:
`~/.hermes/state/no-progress/`. **Neue Fehlermuster landen in
`neue-signaturen.jsonl` — Traum/Radar sollen daraus Playbook-Ergänzungen verdichten.**
2. **Schärfere native Guardrails:** `max_turns` 200→40, `hard_stop same_tool_failure` 8→4.
3. **Betrieb-Playbook-Skill** (`betrieb-playbook`, in allen Profilen): Triage-Regel
(Denken/Bauen/Betrieb) + SSH-Diagnose-Checkliste (Passphrase-Falle ZUERST:
`ssh-keygen -y -f <key> </dev/null`) + Deploy-Checkliste. Triage-Zeile auch im
Steckbrief-Hook.
4. **mem0 entlastet:** Lern-Extraktion gebündelt (4 Turns / 180 s idle = EIN Lauf statt
pro Turn — konkurrierte mit Lucys Hirn-Slots). Monatliche **Konsolidierung**
(`mem0-konsolidierung`, 3. um 06:40): legt Ähnliches zusammen, Widersprüche → neuester
gewinnt; Leitplanken hart im Code. Erster Lauf: 459→420 Fakten.
5. **Gedächtnis-Bereiche** statt zweitem mem0: neue Fakten tragen `bereich: alltag|projekt`;
`GET /memory?bereich=` filtert (Alt-Fakten laufen immer mit). Einmal-Cron
`gedaechtnis-check` (16.08. 09:10) prüft Schutt und legt bei Bedarf SELBST die
Werkstatt-Karte an — Bauauftrag komplett in `docs/wissen/GEDAECHTNIS-BEREICHE.md` (am 07.08.2026 gelöscht, Commit `c3851f8`; nur noch in der Git-Historie).
6. **Sicherheit:** Gitea-Registrierung AUS (app.ini `[service]` in CT 104 — Achtung:
`deploy/gitea_app.ini.example` setzt den Key fälschlich in `[security]`, Gitea ignoriert
das stumm!). ~157 GB Müll von der Box (u. a. 103 GB HF-Cache), Hermes Desktop komplett
vom PC (Persona-Backup: `F:\Coding Stuff\BAK\hermes-desktop-backup-2026-07-19`).
## Verdikte 19.07. (nicht neu aufrollen)
- **KEIN zweites mem0.** Coding-Gedächtnis = Repo (AGENTS.md, Code, Git, Karten).
- **EINE IDE-Umgebung = Zed.** OpenCode-Desktop wurde bewusst wieder entfernt.
Cline/Roo nur als Challenger nach Referenz-Messung (große Prompts = teuer auf Box-Physik).
Antigravity RAUS (keine lokalen Modelle). Hermes Desktop RAUS (zweite regellose Welt).
- **Phasen statt Modell-Ping-Pong:** heavy (60 G) + coder (20 G) passen nicht gleichzeitig
neben das warme Hirn; jeder Wechsel ~90–150 s. Erst planen (heavy), dann bauen (coder);
Erkundung über @explore (hermes, immer warm, gratis).
- **Zeit = Schleifen × Kontext.** Token sind Kosten. Kleiner Kontext + erster Versuch
sitzt schlägt jedes stärkere Modell.
## IDE-Welt: Pfade & Nutzung (PC)
- OpenCode-Config: `C:\Users\TobisPC\.config\opencode\opencode.json`
(Provider `aibox` → `http://192.168.178.151:9001/v1`; Agenten: `plan`=heavy READ-ONLY,
`build`=coder mit `ssh*: deny` + `git push: ask`, `explore`=hermes Subagent).
- Zed-Config: `%APPDATA%\Zed\settings.json` (`agent_servers.OpenCode` → voller Pfad zu
`opencode.exe acp` unter `%LOCALAPPDATA%\Microsoft\WinGet\Packages\SST.opencode_*`;
alter `bosgame`-Provider für Inline-Features bleibt).
- **Nutzung:** Zed öffnen → Projekt → Agent-Panel → „OpenCode"-Thread. Planen im
plan-Agent, dann build. Jedes Projekt = Gitea-Repo + `AGENTS.md` (Vorlage:
homelab-radar-Repo, Branch `dashboard/stand-2026-07-19`).
## Offene Fäden (Stand 19.07. abends)
1. ‼️ **sshd:** `50-cloud-init.conf` überstimmt `50-no-password.conf` (sortiert früher,
erster Wert gewinnt). Fix (sudo): Datei zu `00-no-password.conf` umbenennen + ssh
restart; Beweis: `sudo sshd -T | grep -i ^passwordauthentication` → `no`.
2. **Zed-Erststart ungetestet:** Installation+Config verifiziert, aber der allererste
OpenCode-Thread in Zeds UI wurde nie geklickt. Falls er hakt: `opencode` läuft auch
solo im Terminal des Projekts (gleiche Config).
3. **Referenz-Messung IDE** nach erster echter Nutzung: gleiche Aufgabe, Schleifen/
Wandzeit/Tokens notieren → endgültiges Werkzeug-Verdikt (vs. Zed-nativ, vs. Cline).
4. **heavy + OpenCode:** einmalig „peg-native format"-Fehler (llama.cpp-Tool-Parser,
transient, Retry half). Häuft es sich → Engine-Update über MC2 probieren.
5. **gedaechtnis-check** feuert 16.08. — Ergebnis beachten (Telegram).
## Abnahme bestanden (19.07. 14:55, Karte t_4dd12efb)
Der betrieb-Worker hat das komplette System in 168 s selbst auditiert: **6/6 technische
Blöcke PASS** (Dienste, Modelle+Hirn 0,29 s, mem0-Roundtrip+Bereichs-Filter, Crons 14/14
gesund, Timer/Ressourcen) und die Drei-Welten-Regel korrekt wiedergegeben. Höhepunkt:
Die **No-Progress-Bremse hat sich live am Worker selbst bewiesen** — er wich vom
Ein-Aufruf-Muster ab, produzierte identische Ergebnisse, wurde mechanisch geblockt und
hat statt zu schleifen diagnostiziert, aufgeräumt und ehrlich berichtet. Zusammen mit dem
92-s-Deploy (t_36117427) ist die Kern-These des Umbaus doppelt belegt.
Merkposten: Karten-Texte mit `$(…)`/Variablen NIE per unquotiertem Heredoc einspielen
(Shell expandiert sie — Karte t_36ff1dab musste deshalb verworfen werden); Datei + scp
oder quotiertes Heredoc benutzen.
## Historie (für Menschen, nicht für Worker)
Claude-Artifacts (nur solange Abo läuft): Stack-Audit
`claude.ai/code/artifact/c510cf49-…` · Finaler Plan `claude.ai/code/artifact/5a9ee13e-…`.
Die Essenz beider steht in DIESEM Dokument; nichts davon ist für den Betrieb nötig.