7.0 KiB
Session-Anker 2026-08-28 — Pre-OpenCode-Migration: Diskussionsentscheidungen
Zweck: Mini-Anker für die nächste Session. Was im Handoff
2026-08-28-pre-opencode-migration.mdan Status steht, steht hier an Warum. Diese Datei + Handoff + TP35 inteilprojekte.md= vollständiger Diskussionsstand, ohne dass die nächste Session 90 Minuten Chat nachlesen muss.Lese-Reihenfolge für nächste Session:
docs/handoff-20260828-pre-opencode-migration.md(Status, Backups, Lessons)- Diese Datei (Warum, Entscheidungen, Übergabe-Mechanik)
docs/teilprojekte.md→ TP35 (Scope, Abgrenzung, Verweise)
Was wir entschieden haben (F1–F5 mit Begründung)
| Frage | Antwort | Warum |
|---|---|---|
| F1 — Reihenfolge | (b) TP anlegen → Handover-Posts pro Projekt → globale CLAUDE.md → Backup-Guard | Handover-Posts entstehen vor globaler CLAUDE.md, weil die Posts darauf verweisen. Guard zuletzt, weil er die Struktur aus den anderen Schichten braucht. |
| F2 — Wo leben Handover-Posts | (ii) Pro Projekt eigene Datei im jeweiligen Repo | Posts sind projektspezifisch — gehören ins Projekt-Repo, nicht in ein zentrales Sammel-File. Format-Vorschlag: docs/MCP-SCHICHTUNG-VORSCHLAG.md pro Projekt. |
| F3 — Welche Regeln in globale CLAUDE.md | (ii) Die 5 Lessons aus bf-infra + „Single Point of Contact für Infrastruktur" | SoC-Prinzip ist explizit gewollt: bei Infrastruktur-Touchpoints soll jede Session bf-infra konsultieren, nicht selbst entscheiden. |
| F4 — Backup-Guard-Hook | Hybrid (Pre-Commit-Hook + manueller Session-Start-Snippet) | Pre-Commit deckt Schreibzugriffe ab. Session-Start-Snippet fängt Read-only-Sessions ab, falls opencode das unterstützt. |
| F5 — TP35-Format | (ii) Mittel: Titel + Scope-Absatz + Abgrenzung + Verweise | Voll zu lang, minimal zu wenig. „Briefing/Infos dazupacken, wenn in Handoffs vorhanden" = genau diese Form. |
Drei Korrekturen unterwegs (Ollama, uwe-job-bewerbung, Backup-Guard-Definition)
- Ollama läuft auf 2 Hosts lokal (MacBook + Mac mini), beide auf
localhost:11434. Default in der MCP-Config =http://localhost:11434. Wer BF-LAN-Remote will:export OLLAMA_HOST=http://10.40.20.167:11434in der Shell. uwe-job-bewerbungist doch ein Projekt — Backup-Verzeichnis ist da, 12/12 valid (Stand jetzt, 17:02 nach erfolgreichem Retry des abgebrochenen Backups). Christoph hatte es im ersten Anlauf ausgeschlossen, dann korrigiert.- Backup-Guard: „3 Tage aktive Arbeit", nicht 3 Tage Standzeit. Definition:
git log --since=<guard-date>≥ 5 Commits ODERgit diff --shortstat <guard-date> HEAD≥ 1000 Zeilen. Beide Schwellen nobel.
Lehren für die Übergabe-Mechanik (Format-Vorlage für „go")
[Aktion]: ein Satz, was konkret passieren soll
Scope: welche Dateien/Repos/Systeme
Stop-Bedingung: was ich NICHT anfassen darf
Checkpoint: was ich zurückmelde, wenn fertig
Bei Fehler: rollback oder fragen
Nicht ein ganzes Bündel als „go" formulieren — eine Entscheidung pro „go". Oder explizit „Plan-Modus: Vorschlag zuerst".
Lehren für mich (Mid-Action-Checkpoint)
Bei komplexen Plänen (mehrere Schichten, mehrere Dateien) vor dem ersten Tool-Aufruf einen Mid-Action-Checkpoint setzen:
„Backups ✅, jetzt fange ich Schicht 2 an: globale Config. Wenn du jetzt anders entscheidst, ist das hier der Punkt zum Stoppen."
Christoph hat zweimal „go" gesagt und beim zweiten Mal korrigiert — wäre der Checkpoint vorher gekommen, hätte er beim ersten „go" schon differenzieren können.
Was noch zu klären ist (für nächste Session)
- TP35-Schicht 6 zuerst (
/projektstatus-Skill globalisieren) — alle Projekte sollen dasselbe Skill verwenden. Vorschlag: nach~/.config/opencode/skills/projektstatus/linken oder kopieren. - Ankündigungs-Format: wie sieht eine „Breaking News" aus? Mein Vorschlag: kurzes Markdown mit
## Datum — Titel, 3–5 Zeilen, plus optionaler Verweis auf TP-Nummer. SSoT:bf-infra/docs/announcements.md(in Arbeit, Datei existiert noch nicht). - Opencode-Skill-Verzeichnis:
~/.config/opencode/skills/oder~/.claude/skills/? Opencode-Syntax ist~/.config/opencode/..., claude ist~/.claude/.... Mein Vorschlag: opencode-Verzeichnis, weil das der aktive Werkzeugkasten ist. - TP34 + TP35-Berührung: TP34 (Caddyfile via Nautobot/GC) und TP35 (MCP-Schichtung) sind beide „Repository-Pattern für externe Konfiguration". Nicht zusammenführen — verschiedene Schichten (TP34 = Datenmodell, TP35 = lokale Tool-Konfiguration), aber im Master-Architektur-Dokument Querverweis setzen.
Commit-Hinweis-Regel (neu autorisiert 2026-08-28)
Wenn ich denke, dass ein Commit ein guter Zeitpunkt ist und Christoph es übersieht: aktiv darauf hinweisen mit einem Satz wie „Wäre jetzt ein guter Commit-Zeitpunkt — soll ich?". Nicht „einfach committen". Christoph bestätigt oder verwirft. Kontrolle bleibt beim Anwender.
Status-Stand zum Session-Ende (für nächste Session als Referenz)
Backups: 12/12 valid (1,4 GB in ~/dev/.pre-opencode-migration-backups/20260828-150335/)
Repos: alle sauber (HEADs identisch zu vor Session, außer bf-infra)
Globale Configs: alle md5-identisch zu vor Session
Commits in Ssn: 2 (bf-infra 799e3ef = Handoff, dieser hier = TP35 + Anker)
TP35: angelegt, wartet auf Scope-Ausarbeitung in eigener Session
Synology Drive: läuft (manuell, quick-and-dirty, Christoph)
Hinweis zum Session-Revert in opencode
Christoph hat die opencode-Option „Revert undo messages and file changes" getestet und abgebrochen. Leseart:
- „messages" = Session-Konversationshistorie (weg)
- „file changes" = alle nicht-committeten Tool-Mutationen (weg)
- Commits bleiben — Commits sind im Repo-Layer, nicht im Session-Layer
- Backup-Files (
*.tar.gz) zählen als „file changes" und würden verschwinden
Für unsere Sitzung: ein Revert hätte nichts Wertvolles entfernt (die Backups waren Sicherheitsnetz, kein Dauerzustand), aber den Session-Kontext. Nicht nötig, weil State sauber ist.
MCP-Status-Check (Cold-Start-Race)
Beim ersten Aufruf von opencode mcp list kann einzelne Server als ✗ failed erscheinen, obwohl sie in der Sidebar grün sind. Live verifiziert 2026-08-28, 17:08: n8n-mcp war beim ersten opencode mcp list als failed angezeigt (Sidebar grün). Beim zweiten Aufruf mit sleep 2 davor war der Server ✓ connected. Ursache: Initial-Race beim Cold-Start — dasselbe Muster wie Handoff 2026-08-28 M4.
Merkregel für nächste Session: bei failed zuerst 2 Sekunden warten und erneut prüfen. Erst beim zweiten failed ist es ein echtes Problem. Sidebar-Status ist die Wahrheit, opencode mcp list ist die Konsolen-Sicht mit Cold-Start-Toleranz.
Schlusswort
Diskussion hat ~1 Stunde gedauert, Ergebnis sind 3 Commits (Handoff + TP35 + dieser Anker), 12 valide Backups, 1 synology-Sync als zusätzliche Sicherung. Ausführung der TP35-Schichten erfolgt in separaten Sessions, pro Projekt einer.