opencode-Migration

Ziel

opencode wird alleiniger Coding-Agent — Claude Code wird abgeschaltet. Trigger: Provider-Lock-in bei Anthropic-only schmerzt real bei Industriekunden-Spur (Mistral on Hetzner, Bedrock EU, lokales Ollama fuer DSGVO-strenge Faelle).

Status

  • 2026-05-17 (Plan erstellt): opencode 1.14.50 via brew installiert, altes Binary entfernt.
  • 2026-05-17 (Pivot): Plan auf AWS Bedrock EU als alleiniger Provider umgeschrieben — Marvin will Sonnet weiter, nur Zugriffsweg aendert sich (kein Anthropic-Direct, kein OpenRouter, Ollama spaeter optional).
  • 2026-05-17 — Phase 0 vollstaendig abgenommen ✓
    • Unit 0.1 — opencode.json mit Bedrock-Provider, Sonnet/Opus/Haiku via av-production/eu-central-1, Smoke-Test gruen (PONG)
    • Unit 0.2 — AGENTS.md-Symlink validiert, opencode-Specifics-Sektion in CLAUDE.md, Live-Test Behavior Rule 22 erfolgreich zitiert
    • Unit 0.3 — 13 MCPs portiert, 8 connected (gsuite, calcom, hetzner, aws-api/docs/iac/pricing, cloudflare), 5 mit bekannten externen Gruenden failed (siehe issues.md), End-to-End-MCP-Call via hetzner verifiziert
    • Unit 0.4 — coding + business Custom-Agents in ~/.config/opencode/agents/ (Caveat I-006: permission-Glob-Matching greift noch nicht — Followup)
    • Unit 0.5 — Hybrid-Doku + Rollback-Plan geschrieben, Backup-Tarball ~/Backups/cc-pre-migration-2026-05-17.tar.gz (41 KB, 22 Memory-Files + Configs) erstellt
  • 2026-05-17 — Phase 1 vollstaendig abgenommen ✓ (~1h statt geplanter 16h dank dünnem Wrapper-Pattern)
    • Unit 1.1 — /wiki-maintenance Custom Command, Live-Test gruen (nur tbd-Lauf fand 10 Cluster, 2 Auto-Resolutions)
    • Unit 1.2 — /inbox-sync Custom Command (gsuite-Scope via business-Agent)
    • Unit 1.3 — /email + /email-review Custom Commands (business-Agent, Stil-Profil-Pflicht, 10-Punkt-Check)
    • CLAUDE.md opencode-Specifics-Tabelle aktualisiert (4 Slash-Commands registriert)
  • 2026-05-17 — Phase 2 vollstaendig abgenommen ✓ (~30min statt 14h durch Wrapper-Pattern)
    • Unit 2.1 — /tagesplan + /wochenplan (business-Agent)
    • Unit 2.2 — /termin (business-Agent, Reply-Draft-Pattern + Event-NACH-Zusage)
    • Unit 2.3 — /image-gen (coding-Agent, replicate-MCP-Fallback dokumentiert)
    • Unit 2.4 — /transkript + /routine-anlegen (coding-Agent)
    • CLAUDE.md Command-Tabelle: 10 Slash-Commands registriert
  • 2026-05-17 — Phase 3 vollstaendig abgenommen ✓ (~1h statt 22h dank Plugin-Pfad-Wrapper-Pivot)
    • KTD-4 revidiert: Marvin-Frage „warum nicht einfach hinterlegen?” hat zum Pivot gefuehrt. compound-engineering hat 41 Skills + 49 Sub-Agents als SKILL.md/Agent.md-Files im Plugin-Cache. Wrapper zeigen direkt darauf. KEIN Neu-Konzeption von 6 Core-Skills noetig.
    • Phase 3a — 49 Sub-Agents flach kopiert nach ~/.config/opencode/agents/, Frontmatter normalisiert (tools/color/model: inherit raus). Live-Test: Sub-Agent-Call via Task-Tool erfolgreich (PONG).
    • Phase 3b — 12 Wrapper-Commands fuer compound-engineering-Skills (/plan, /work, /review, /brainstorm, /compound, /ideate, /document-review, /reproduce-bug, /commit-pr, /git-commit, /git-worktree, /git-clean-gone-branches, /todo-resolve). Live-Test /plan: SKILL.md geladen, Workflow-Phasen korrekt zitiert.
    • Phase 3c — 4 Wrapper fuer restliche eigene Skills (/mcp-eigenbau, /mcp-cloud, /security-audit, /qa-staging).
    • Phase 3d — permission.external_directory-Block in opencode.json fuer compound-engineering-Plugin-Pfad. CLAUDE.md Command-Tabelle: 27 Slash-Commands total.
  • 2026-05-17 — Phase 4.1 + 4.2 abgenommen ✓ (Memory-Konsolidierung + Sound-Notifications)
    • Unit 4.1 — 22 Memory-Files in 3 Vault-Files konsolidiert (marvin-profile.md, marvin-arbeitsweise-patterns.md, marvin-projekt-context.md). instructions-Block in opencode.json laedt alle 6 (3 neue + 3 bestehende _index.md-Files).
    • Unit 4.2 — tui.json mit attention.sound: true statt Plugin-Hook (Marvin-Entscheidung: keine Ebene-4-Plugin-Hooks).
  • Cutover offen (Unit 4.3): claude aus PATH nehmen. NICHT jetzt machen. Hybrid-Phase erst real testen — 1-2 Wochen produktiv mit opencode arbeiten, dann Cutover entscheiden. Cutover-Checkliste siehe plan.md ganz unten.

Pointer

Naechster Schritt

Phase 0 Unit 1 starten — opencode-Config-File anlegen, AGENTS.md gegen opencode-Rules-Spec validieren.