Files
spiele-redaktion/AGENTS.md
Flo Hartmann 83d574d95c Plugin audit-log: Protokolltabelle, öffentliche API und Admin-Ansicht
- Eigene Migration 0001_audit_eintraege (Tabelle audit_eintraege: Akteur,
  Aktion, Objekttyp/-ID, Alt/Neu + Details als JSON, optionale IP, Zeitstempel)
- Öffentliche Plugin-API: await log(actor, action, objekt_typ, objekt_id,
  details, ip_adresse) bzw. log_sync() für synchrone Routen; andere Plugins
  holen die API über request.app.state.registry.get("audit-log")
- Admin-Ansicht /audit-log (nur Admin): Filter nach Benutzer, Aktionstyp und
  Zeitraum, Paginierung (25/Seite), deutsche UI, Alt/Neu-JSON-Darstellung
- Tests: Logging-Funktion (Actor-Varianten, alt/neu-Extraktion), Migration,
  Filter-Querys, Paginierung, Nur-Admin-Zugriff (13 neue Tests)
- Loader-Test angepasst: voll implementierte Plugins tragen keinen
  Platzhalter-Text mehr
- AGENTS.md: Status aktualisiert

Verifiziert: HEAD + diese Änderungen = 58 Tests grün (uv run pytest)
2026-08-21 19:02:50 +00:00

1.1 KiB

Spiele-Redaktion

Ziel

Multi-User-Webanwendung „KI-Assistenz für Spielemagazin-Redaktionen": Neuheitenliste (BGG), Dedup-Prüfungen, Planungsliste, Archivierung, Erinnerungen, Benachrichtigungen (E-Mail/Telegram/In-App), Audit-Log, Export.

Status

Kern mit Plugin-System/Auth/Migrationen fertig; audit-log vollständig implementiert; neuheiten/benachrichtigung in Arbeit; übrige Plugins Stubs. Live-Status: README.md → „Projekt-Fortschritt“.

Struktur

Pfad Inhalt
PROMPT.md Ursprünglicher Projekt-Prompt (freigegebene Fassung)

Konventionen

  • Stack: FastAPI + Plugin-Architektur (Entry-Points/Namensraum-Pakete), SQLite→Postgres-fähig, HTMX + Jinja2 + Tailwind + Alpine.js
  • Jede Funktion = Plugin mit eigener Migration/Routen/Templates; Kern schlank
  • UI: Deutsch. Rollen: Admin/Redakteur vs. Rezensent
  • Deployment: Docker/Podman Compose, portabel (Lab → Kundenhardware)

Für KI-Agenten

Zuerst PROMPT.md lesen — enthält die vollständigen Anforderungen. Plugin-Kontrakt nicht umgehen: keine Feature-Logik im Kern.