Der Meilenstein M8 aus dem Auftrag: ein Lauf wird vorbereitet, abgearbeitet, abgeschlossen und archiviert.
Was drin ist
Dienste: anlegen (auch als OFFEN ohne Start), zur Bearbeitung öffnen, Schrittergebnisse einzeln setzen, „Abschnitt trifft nicht zu“, abschließen, archivieren, zurückholen (nur ADMIN), Kommentare, „Mit AD-Konto verknüpfen“.
Archiv-Schreibschutz an genau einer Stelle, gerufen vor jeder Änderung an Kopfdaten, Schrittergebnis und Kommentar. Abgeschlossen bleibt änderbar, archiviert nicht.
Abarbeitungsansicht: nummerierte, einklappbare Abschnitte, Fortschritt, Befehlsblöcke mit Kopier-Knopf, Kompakt/Ausführlich, Aktualisierung alle zehn Sekunden.
Start-Dialog mit Vorbelegung aus der Adresse und Namensvorschlägen für upn, sam, mail.
Die beiden Blocker aus dem unabhängigen Review
Ein Befehl konnte zwei verschiedene Passwörter tragen — je Vorkommen entstand ein neues. Das Konto hätte A bekommen und der Benutzer B erfahren, und weil nichts gespeichert wird, wäre A für immer weg. Jetzt: ein Passwort je Seitenaufbau, für alle Befehle des Laufs. Ein Test meines Vorgängerstands hatte das falsche Verhalten sogar festgeschrieben.
„Nicht zutreffend“ ließ sich nicht zurücknehmen. Der Klick setzte den Zustand nur im Browser zurück; auf dem Bildschirm war nichts mehr gewählt, in der Datenbank stand weiter der alte Zustand.
Dazu zwölf Befunde und acht Anmerkungen, alle abgearbeitet — darunter Bearbeiter fremder Kunden im Start-Dialog, Kommentare ohne Aktualisierung im zweiten Browser und eine API-Anfrage ohne Anmeldung, die auf die Anmeldeseite umgelenkt statt mit 401 beantwortet wurde.
Prüfstand
pnpm lint, typecheck, format:pruefen, pruefe:doku grün · 879 Tests (vorher 810) · 37 Ende-zu-Ende-Tests gegen den gebauten Stand · Screenshots in docs/screenshots/m8/.
Offen und nach #14 verschoben: ein Gerät direkt im Start-Dialog anlegen oder scannen — das hängt am QR-Einstieg.
Der Meilenstein M8 aus dem Auftrag: ein Lauf wird vorbereitet, abgearbeitet, abgeschlossen und archiviert.
## Was drin ist
- **Dienste**: anlegen (auch als `OFFEN` ohne Start), zur Bearbeitung öffnen, Schrittergebnisse einzeln setzen, „Abschnitt trifft nicht zu“, abschließen, archivieren, zurückholen (nur `ADMIN`), Kommentare, „Mit AD-Konto verknüpfen“.
- **Archiv-Schreibschutz** an genau einer Stelle, gerufen vor jeder Änderung an Kopfdaten, `Schrittergebnis` und `Kommentar`. Abgeschlossen bleibt änderbar, archiviert nicht.
- **Abarbeitungsansicht**: nummerierte, einklappbare Abschnitte, Fortschritt, Befehlsblöcke mit Kopier-Knopf, Kompakt/Ausführlich, Aktualisierung alle zehn Sekunden.
- **Start-Dialog** mit Vorbelegung aus der Adresse und Namensvorschlägen für `upn`, `sam`, `mail`.
## Die beiden Blocker aus dem unabhängigen Review
1. **Ein Befehl konnte zwei verschiedene Passwörter tragen** — je Vorkommen entstand ein neues. Das Konto hätte A bekommen und der Benutzer B erfahren, und weil nichts gespeichert wird, wäre A für immer weg. Jetzt: ein Passwort je Seitenaufbau, für alle Befehle des Laufs. Ein Test meines Vorgängerstands hatte das falsche Verhalten sogar festgeschrieben.
2. **„Nicht zutreffend“ ließ sich nicht zurücknehmen.** Der Klick setzte den Zustand nur im Browser zurück; auf dem Bildschirm war nichts mehr gewählt, in der Datenbank stand weiter der alte Zustand.
Dazu zwölf Befunde und acht Anmerkungen, alle abgearbeitet — darunter Bearbeiter fremder Kunden im Start-Dialog, Kommentare ohne Aktualisierung im zweiten Browser und eine API-Anfrage ohne Anmeldung, die auf die Anmeldeseite umgelenkt statt mit `401` beantwortet wurde.
## Prüfstand
`pnpm lint`, `typecheck`, `format:pruefen`, `pruefe:doku` grün · **879 Tests** (vorher 810) · **37 Ende-zu-Ende-Tests** gegen den gebauten Stand · Screenshots in `docs/screenshots/m8/`.
Offen und nach #14 verschoben: ein Gerät direkt im Start-Dialog anlegen oder scannen — das hängt am QR-Einstieg.
Closes #13
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Ein Lauf wird vorbereitet, abgearbeitet, abgeschlossen und archiviert. Der
Archiv-Schreibschutz sitzt in genau einer Funktion und wird vor jeder Aenderung
an Kopfdaten, Schrittergebnis und Kommentar gerufen; abgeschlossen bleibt
aenderbar, archiviert nicht.
Die Abarbeitungsansicht speichert jeden Schritt einzeln, frischt sich alle zehn
Sekunden auf und pausiert im Hintergrund. Sie traegt in der Polling-Antwort
keine Befehle und laedt sich auch nicht von selbst neu, solange ein generiertes
Passwort auf der Seite steht: beides tauschte es dem Techniker zwischen Lesen
und Einfuegen aus.
Der unabhaengige Review fand zwei Blocker: ein Befehl konnte zwei verschiedene
Passwoerter tragen (Konto bekommt A, Benutzer erfaehrt B), und „nicht
zutreffend“ liess sich nicht zuruecknehmen, waehrend die Oberflaeche
behauptete, nichts sei gewaehlt. Beides behoben und in Tests festgehalten.
Closes#13
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Der Meilenstein M8 aus dem Auftrag: ein Lauf wird vorbereitet, abgearbeitet, abgeschlossen und archiviert.
Was drin ist
OFFENohne Start), zur Bearbeitung öffnen, Schrittergebnisse einzeln setzen, „Abschnitt trifft nicht zu“, abschließen, archivieren, zurückholen (nurADMIN), Kommentare, „Mit AD-Konto verknüpfen“.SchrittergebnisundKommentar. Abgeschlossen bleibt änderbar, archiviert nicht.upn,sam,mail.Die beiden Blocker aus dem unabhängigen Review
Dazu zwölf Befunde und acht Anmerkungen, alle abgearbeitet — darunter Bearbeiter fremder Kunden im Start-Dialog, Kommentare ohne Aktualisierung im zweiten Browser und eine API-Anfrage ohne Anmeldung, die auf die Anmeldeseite umgelenkt statt mit
401beantwortet wurde.Prüfstand
pnpm lint,typecheck,format:pruefen,pruefe:dokugrün · 879 Tests (vorher 810) · 37 Ende-zu-Ende-Tests gegen den gebauten Stand · Screenshots indocs/screenshots/m8/.Offen und nach #14 verschoben: ein Gerät direkt im Start-Dialog anlegen oder scannen — das hängt am QR-Einstieg.
Closes #13
🤖 Generated with Claude Code