Fachdokumente nach docs/, Entscheidungen festgehalten
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>
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user