# Rollback-Plan: Gateway-Patch im Telegram-Plugin

**Nur Plan.** Gleiche Rahmenbedingungen wie `docs/MIGRATION.md` (Freigabe, Neustart nur über `aria.service`, kein
`claude -p`). Das Gateway hält keinen Zustand, den Claude braucht; ein Rollback verliert keine Claude-Daten.

## Stufe 1: Modus `off` (ohne Dateiänderung am Plugin)

1. `ARIA_GATEWAY_MODE` entfernen oder auf `off` setzen (dort, wo es gesetzt wurde, E34).
2. Neustart der Hauptsitzung.
3. Prüfungen 1–7 aus `docs/MIGRATION.md`.

Wirkung: `server.ts` ruft das Gateway nicht mehr auf (kein Aufruf, kein `await`) und verhält sich exakt wie die
Prod-Datei (Spurvergleich `off == Prod`, 57 Szenarien). Ein ungültiger Wert wirkt ebenfalls wie `off`.

## Stufe 2: Prod-Datei zurück

Reihenfolge umgekehrt zum Einspielen: **erst** `server.ts`, **dann** `aria-gateway.ts`, sonst scheitert der Import.

```
cd /home/aria/.claude/plugins/cache/claude-plugins-official/telegram/0.0.6
cp -p server.ts.bak.<datum>-pre-v3 server.ts
sha256sum server.ts                     # a20b9d6dbb61ad6130b9b8dacd78509407f809fae7e5839907c857b449949f3d
grep -c aria-v3-gateway server.ts       # 0
rm aria-gateway.ts                      # optional; ohne Import ungenutzt
```

Ohne Sicherung: `<REPO>/telegram/plugin/server.prod-0.0.6.ts` ist byte-gleich (gleiche sha256). Danach Neustart und
Prüfungen 1–7. Falls die `.env` geändert wurde: Sicherung `…/.env.bak.<datum>-pre-v3` zurückkopieren (Inhalt nie
ausgeben) oder nur die `ARIA_GATEWAY_*`-Zeilen entfernen.

## Stufe 3: Gateway-Zustand

Nicht nötig für den Betrieb. Optional `state_dir` archivieren (`decisions.jsonl` enthält echte Telegram-IDs, E17).
Schlüsseldatei nicht löschen, solange ein späterer erneuter Versuch geplant ist.

## Notfälle

| Lage | Maßnahme |
|---|---|
| Plugin startet nicht (Importfehler, Syntax) | Stufe 2 sofort; Ursache meist fehlende `aria-gateway.ts` oder falsche Reihenfolge |
| `409 Conflict` im Plugin-Log | zweiter Poller: alle `bun server.ts`-Prozesse prüfen (`ps`, `/proc/<pid>/cwd`); nie eine Vollkopie aus dem Repo starten |
| Nachrichten kommen in `active` nicht bei Claude an | Plugin-Log `aria-gateway:` lesen (`outcome`, `forwarded`); bei `ROUTER_FAILURE` mit `block` liegt ein Gateway-Ausfall vor → Stufe 1 |
| Bot reagiert in `active` träge | sequenzielle Verarbeitung (E27): Stufe 1 |
| Plugin-Update hat den Patch entfernt | kein Rollback nötig (Original läuft); Supabase-Patch fehlt dann ebenfalls |

Nach jedem Rollback: Zeitpunkt, Stufe, Prüfergebnisse und Ursache in `docs/OFFENE-ENTSCHEIDUNGEN.md` bzw. im Betriebslog
festhalten.
