CLAUDE.md und README.md verweisen auf docs/, die Dateien lagen aber im Wurzelverzeichnis. Verschoben. docs/13-entscheidungen.md hält fest, wo die Dokumente sich widersprechen und wie es aufgelöst wurde. Der wichtigste Punkt: 04-datenmodell.md verlangt eine Regel, die jedes UPDATE auf CaseEntryVersion verwirft, 05-akten-und-vorlagen.md verlangt, dass eine Umklassifizierung rückwirkend auf alle Versionen wirkt. Beides zusammen geht nicht. Aufgelöst über einen Trigger, der die Tabelle anhängend hält, aber das Anheben von minClearance zulässt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3.0 KiB
Produkt und Domäne
Kontext
Die AfiS ist im Rollenspiel die interne Ermittlungsbehörde einer SCP-Foundation-Einrichtung. Sie untersucht Korruption, Dienstvergehen und Sicherheitsvorfälle bei eigenem Personal. Bisher organisiert sie sich über ein Discord-Forum, was für verknüpfte Akten und abgestufte Sichtbarkeit nicht taugt.
Das System ersetzt das Forum, nicht Discord selbst. Discord bleibt der Ort für Identität, Rollen und Benachrichtigungen.
Nutzergruppen
| Gruppe | Typisches Verhalten | Wichtigste Ansicht |
|---|---|---|
| Ermittler | Legt Fälle an, schreibt Vermerke, lädt Belege hoch | Fallakte, eigene Fälle |
| Abteilungsleiter | Prüft, schließt Fälle ab, vergibt Rechte, exportiert | Dashboard, Rollenverwaltung |
| Beobachter mit niedriger Stufe | Liest mit, kommentiert im Chat | Fallliste, Chat |
| Administrator (du) | Betrieb, Vorlagen, Notfallzugriff | Adminbereich |
Der Abteilungsleiter ist ausdrücklich nicht technisch. Alles, was er regelmäßig braucht, muss über die Oberfläche gehen. Keine Konfigurationsdateien, keine Datenbankeingriffe.
Glossar
Verbindliche Zuordnung zwischen Fachbegriff und Code-Bezeichner.
| Deutsch (UI) | Code | Bedeutung |
|---|---|---|
| Fallakte | Case |
Eine Ermittlung |
| Aktenzeichen | caseNumber |
AfiS-<Jahr>-<4-stellig>, z. B. AfiS-2026-0042 |
| Abschnitt | CaseSection |
Aus der Vorlage erzeugtes, versioniertes Feld |
| Vermerk / Verlaufseintrag | CaseEntry |
Chronologischer Eintrag, nur anhängend |
| Verlauf | timeline |
Die Folge aller CaseEntry |
| Vorlage | CaseTemplate |
Definiert Abschnitte einer Fallart |
| Fallart | caseType |
Korruptionsverdacht, Dienstvergehen, Sicherheitsvorfall, Routineprüfung |
| Freigabestufe | clearanceLevel |
0 bis 5 |
| Klassifizierung | classification |
Die Stufe eines Objekts |
| Schwärzung | Redaction |
Für niedrigere Stufen unkenntlicher Bereich |
| Personalakte | PersonnelFile |
Akte zu einer Person |
| Beteiligter | CaseParticipant |
Ermittler, Zeuge oder Betroffener eines Falls |
| Aktenchat | CaseChat |
Informelle Nachrichten zu einer Akte |
| Wiedervorlage | dueAt |
Termin, zu dem der Fall wieder anzufassen ist |
| Zugriffsprotokoll | AuditLog |
Wer hat wann was gelesen oder geändert |
Freigabestufen
| Stufe | Bezeichnung | Existenz für niedrigere Stufen |
|---|---|---|
| 0 | Offen | sichtbar |
| 1 | Intern | sichtbar |
| 2 | Vertraulich | sichtbar, Inhalt gesperrt |
| 3 | Geheim | unsichtbar |
| 4 | Streng geheim | unsichtbar |
| 5 | Leitungssache | unsichtbar |
Die Spalte ganz rechts ist konfigurierbar (ClearanceLevelConfig.hiddenBelow), die Werte
oben sind der Auslieferungszustand.
Nicht im Umfang
- Keine öffentliche Registrierung, kein Passwort-Login, keine E-Mail-Zustellung
- Kein mobiles Nativ-App-Ziel, aber die Weboberfläche muss auf dem Handy gut lesbar sein
- Keine Echtzeit-Zusammenarbeit im selben Textfeld (nur Konflikterkennung)
- Keine Volltextsuche in Anhängen (OCR) in Version 1