- 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)
24 lines
1.1 KiB
Markdown
24 lines
1.1 KiB
Markdown
# 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.
|