feat(admin): Freigabe-Seite und Aufraeumen der Status-Altlasten

Die Freigabe ist jetzt der taegliche Arbeitsschritt und bekommt eine
eigene Seite: /admin/freigabe listet alle wartenden Artikel mit Bild,
Score, Tags und dem umgeschriebenen Text lesbar gerendert, dazu die drei
Aktionen Freigeben, Neu schreiben, Verwerfen. Nach jeder Aktion geht es
zurueck in die Liste, damit sich eine Warteschlange am Stueck abarbeiten
laesst.

Der Vorschautext ist Modell-Ausgabe ueber fremde Webseiten und laeuft
deshalb durch einen Tag-Whitelist-Filter statt roh ins Template.

Aufgeraeumt:
- Artikelliste zeigte interne Kuerzel statt Klartext
- Status `review` (Relevanz-Warnzone) wurde als "Rewrite" ausgegeben
- `Rewrite -> Freigegeben` entfernt: zweiter Weg an der Freigabe vorbei
- `Freigegeben -> Veroeffentlicht` entfernt: das macht der WP-Sync
- API-Statusliste wird abgeleitet statt handgepflegt, sie kannte den
  neuen Status nicht und lehnte den Wechsel mit 422 ab

Behoben: list_articles las content_rewritten nicht mit, die neue Seite
haette nie einen Text angezeigt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Oliver 2026-08-24 16:32:48 +02:00
parent ea5260716e
commit de1d62c6f7
No known key found for this signature in database
14 changed files with 565 additions and 47 deletions

View file

@ -41,12 +41,11 @@ N8N (2× täglich) → POST /api/n8n/pipeline
└── Status: pending_review ──► KEIN WordPress-Beitrag, KEIN Slot
Telegram: Info + Link ins Portal
Mensch öffnet den Artikel im Portal, liest ihn
Mensch öffnet /admin/freigabe und liest den Artikel
┌─────────────────────────┼──────────────────────────┐
▼ ▼ ▼
„Redaktionell geprüft „Rewrite ausführen" „Verwerfen"
& freigeben" (neu schreiben) (Status close)
„✅ Freigeben" „✏️ Neu schreiben" „❌ Verwerfen"
Stempel: editorial_review_at / _by / _note (Systemzeit, nicht editierbar)
@ -62,6 +61,19 @@ Wichtig an der Reihenfolge:
der stundenlang auf die Prüfung wartet, darf keinen davon blockieren. Der Slot
wird im Moment der Freigabe reserviert, der Scheduler füllt Lücken auf.
## Die Freigabe-Seite
`/admin/freigabe` ist die Arbeitsliste: alle Artikel im Status „Wartet auf
Freigabe", jeweils mit Hauptbild, Relevanz-Score samt Begründung, Tags, Link zum
Originalartikel — und dem **umgeschriebenen Text lesbar gerendert**, nicht als
Markup. Darunter die drei Aktionen. Nach jeder Aktion landet man wieder in der
Liste, sodass eine Warteschlange von oben nach unten abgearbeitet werden kann.
Der Text stammt aus einem Sprachmodell, das mit fremden Webseiten gefüttert
wurde. Für die Anzeige wird er deshalb durch einen Tag-Whitelist-Filter geschickt
(`_sanitize_preview_html`): Absätze, Überschriften, Listen und http(s)-Links
bleiben, alles andere fällt weg.
## Wo der Nachweis liegt
| Ort | Inhalt |