docs(phase-2): Phase 2 in acht Meilensteine schneiden #56

Merged
florian.wilde merged 1 commits from docs/phase-2-plan into main 2026-10-04 16:20:43 +00:00
Owner

Phase 2 stand bisher nur als acht Stichpunkte im Epic #2. Jetzt je Meilenstein eine Datei mit Ziel, Aufgaben und Akzeptanzkriterien, im Tracker als #48 bis #55 — zusammen 76 h geschätzt.

M Meilenstein geschätzt hängt an
M15 #48 Quellenarten und Microsoft-Graph-Quelle 10 h –
M16 #49 SCIM-Endpunkt als Alternative zum Abgleich 12 h M15
M17 #50 Wiederverwendbare Bausteine 12 h –
M18 #51 Abteilungsspezifische Zusatzabschnitte 8 h M17
M19 #52 Anhänge und Fotos an Schritten 10 h –
M20 #53 Live-Aktualisierung per SSE statt Polling 6 h –
M21 #54 Benachrichtigungen per Mail und Webhook 10 h –
M22 #55 Mitarbeiter-Selbstauskunft 8 h –

Zwei Abhängigkeiten, der Rest ist frei einsortierbar.

Drei Entscheidungen vor dem Code

Sie stehen je Meilenstein als erste Aufgabe mit Empfehlung — wie bei #31, wo genau dieses Vorgehen die Alternative sichtbar gemacht hat, die am Ende nicht gewählt wurde.

Wie ein Baustein die Unveränderlichkeit überlebt (M17). Eine veröffentlichte VorlagenVersion wird nie verändert; das trägt die Nachvollziehbarkeit des ganzen Archivs. Empfehlung: Verweis im Entwurf, tiefe Kopie beim Veröffentlichen. Dann sieht ein Lauf weiterhin konkrete Schritte, und Schrittergebnis, Druckansicht und Archiv müssen nichts lernen. Die Alternative — Läufe verweisen zur Laufzeit auf den Baustein — hieße, die Unveränderlichkeit an einer zweiten Stelle durchzusetzen.

Wo Anhänge liegen (M19). Empfehlung: Dateisystem, Metadaten in der Datenbank. Gegen bytea spricht die Sicherung — ein pg_dump mit Fotos ist nach einem Jahr keines, das jemand einspielt. Die Folge gehört dazu: Compose-Stand, native Installation und docs/betrieb/sicherung.md brauchen ein Volume. Eine Sicherung, die nur die Datenbank mitnimmt, verliert ab dort Daten — genau die Art Zusage, die dieses Projekt sonst teuer bezahlt hat.

Was eine Selbstauskunft zeigt (M22). Empfehlung: Titel, Status, Zeitraum, Gerät — keine Schritte, Notizen, Kommentare oder Anhänge. In einem Lauf stehen Arbeitsnotizen über Menschen und Zugangsdaten-Platzhalter; eine Selbstauskunft ist keine Akteneinsicht. Dazu eine neue Rolle MITARBEITER, was die Rollenmatrix in tests/rollen.test.ts um eine Spalte wachsen lässt — sie ist ausgeschrieben und nicht berechnet, genau damit das auffällt.

Was in den Kriterien offen benannt ist

Zwei Meilensteine lassen sich hier nicht vollständig prüfen: Graph (kein Entra-Mandant) und SCIM (kein echter Identitätsanbieter). Beide bekommen Tests gegen aufgezeichnete Antworten und eine Prüfliste zum Selbstfahren — dasselbe Vorgehen wie bei #38 für Proxmox, statt eine Abdeckung zu behaupten, die es nicht gibt.

Refs #2

🤖 Generated with Claude Code

Phase 2 stand bisher nur als acht Stichpunkte im Epic #2. Jetzt je Meilenstein eine Datei mit Ziel, Aufgaben und Akzeptanzkriterien, im Tracker als #48 bis #55 — zusammen **76 h** geschätzt. | M | Meilenstein | geschätzt | hängt an | |---|---|---|---| | M15 | #48 Quellenarten und Microsoft-Graph-Quelle | 10 h | – | | M16 | #49 SCIM-Endpunkt als Alternative zum Abgleich | 12 h | M15 | | M17 | #50 Wiederverwendbare Bausteine | 12 h | – | | M18 | #51 Abteilungsspezifische Zusatzabschnitte | 8 h | M17 | | M19 | #52 Anhänge und Fotos an Schritten | 10 h | – | | M20 | #53 Live-Aktualisierung per SSE statt Polling | 6 h | – | | M21 | #54 Benachrichtigungen per Mail und Webhook | 10 h | – | | M22 | #55 Mitarbeiter-Selbstauskunft | 8 h | – | Zwei Abhängigkeiten, der Rest ist frei einsortierbar. ## Drei Entscheidungen vor dem Code Sie stehen je Meilenstein als **erste Aufgabe** mit Empfehlung — wie bei #31, wo genau dieses Vorgehen die Alternative sichtbar gemacht hat, die am Ende nicht gewählt wurde. **Wie ein Baustein die Unveränderlichkeit überlebt** (M17). Eine veröffentlichte `VorlagenVersion` wird nie verändert; das trägt die Nachvollziehbarkeit des ganzen Archivs. Empfehlung: Verweis im Entwurf, **tiefe Kopie beim Veröffentlichen**. Dann sieht ein Lauf weiterhin konkrete Schritte, und `Schrittergebnis`, Druckansicht und Archiv müssen nichts lernen. Die Alternative — Läufe verweisen zur Laufzeit auf den Baustein — hieße, die Unveränderlichkeit an einer zweiten Stelle durchzusetzen. **Wo Anhänge liegen** (M19). Empfehlung: Dateisystem, Metadaten in der Datenbank. Gegen `bytea` spricht die Sicherung — ein `pg_dump` mit Fotos ist nach einem Jahr keines, das jemand einspielt. **Die Folge gehört dazu:** Compose-Stand, native Installation und `docs/betrieb/sicherung.md` brauchen ein Volume. Eine Sicherung, die nur die Datenbank mitnimmt, verliert ab dort Daten — genau die Art Zusage, die dieses Projekt sonst teuer bezahlt hat. **Was eine Selbstauskunft zeigt** (M22). Empfehlung: Titel, Status, Zeitraum, Gerät — **keine** Schritte, Notizen, Kommentare oder Anhänge. In einem Lauf stehen Arbeitsnotizen über Menschen und Zugangsdaten-Platzhalter; eine Selbstauskunft ist keine Akteneinsicht. Dazu eine neue Rolle `MITARBEITER`, was die Rollenmatrix in `tests/rollen.test.ts` um eine Spalte wachsen lässt — sie ist ausgeschrieben und nicht berechnet, genau damit das auffällt. ## Was in den Kriterien offen benannt ist Zwei Meilensteine lassen sich hier nicht vollständig prüfen: **Graph** (kein Entra-Mandant) und **SCIM** (kein echter Identitätsanbieter). Beide bekommen Tests gegen aufgezeichnete Antworten und eine Prüfliste zum Selbstfahren — dasselbe Vorgehen wie bei #38 für Proxmox, statt eine Abdeckung zu behaupten, die es nicht gibt. Refs #2 🤖 Generated with [Claude Code](https://claude.com/claude-code)
florian.wilde added 1 commit 2026-10-04 16:20:41 +00:00
docs(phase-2): Phase 2 in acht Meilensteine schneiden
Prüfung / e2e (pull_request) Canceled after 0s
Prüfung / pruefung (pull_request) Canceled after 0s
41778529fc
Phase 2 stand bisher nur als acht Stichpunkte im Epic. Jetzt je Meilenstein eine
Datei mit Ziel, Aufgaben und Akzeptanzkriterien, dazu im Tracker gespiegelt:
#48 bis #55, zusammen 76 h geschaetzt.

Die Reihenfolge ist nicht beliebig. M15 fuehrt die Quellenart ein, die M16
braucht; M17 legt die Zusammensetzung fest, auf der M18 aufsitzt. Die anderen
vier haengen an nichts und koennen jederzeit dazwischen.

Drei Entscheidungen fallen vor dem Code und stehen je Meilenstein als erste
Aufgabe mit Empfehlung:

- Wie ein Baustein die Unveraenderlichkeit einer veroeffentlichten Version
  ueberlebt (Verweis im Entwurf, tiefe Kopie beim Veroeffentlichen). Ein Lauf
  sieht weiterhin konkrete Schritte und muss nichts lernen.
- Wo Anhaenge liegen (Dateisystem, Metadaten in der Datenbank) -- mit der
  Folge, dass Compose-Stand, native Installation und sicherung.md ein Volume
  brauchen. Eine Sicherung, die nur die Datenbank mitnimmt, verliert ab dort
  Daten.
- Was eine Selbstauskunft zeigt: Titel, Status, Zeitraum, Geraet, aber keine
  Schritte, Notizen, Kommentare oder Anhaenge. In einem Lauf stehen
  Arbeitsnotizen ueber Menschen; eine Selbstauskunft ist keine Akteneinsicht.

Refs #2
florian.wilde merged commit b688e2ebc8 into main 2026-10-04 16:20:43 +00:00
florian.wilde deleted branch docs/phase-2-plan 2026-10-04 16:20:43 +00:00
Sign in to join this conversation.