Der Meilenstein M10: der Einstieg am Schreibtisch und das Gedächtnis der Anwendung.
Was drin ist
Übersicht mit Überfälligem, eigenen Zuweisungen, zuletzt Bearbeitetem und Schnellstart. Überfällig steht oben und ist das Einzige in Warnfarbe — riefe jeder Block, riefe keiner.
Archiv mit Volltextsuche über Titel, Notizen, erfasste Werte und Kommentare, sechs Filtern und der Fundstelle im Treffer: die Liste sagt, ob der Begriff im Titel, in einer Notiz, in einem Wert oder in einem Kommentar steht, und hebt ihn hervor.
Druckansicht eines Laufs: hell, ohne Navigation, A4 — sie ersetzt im MVP den PDF-Export.
Zwei Blocker aus dem unabhängigen Review, beide im Dashboard
„Überfällig" traf auch, was heute fällig ist. Verglichen wurde mit dem Augenblick statt mit dem Tagesbeginn; ein Datumsfeld speichert Mitternacht UTC, und damit stand ein heute fälliger Lauf hierzulande ab zwei Uhr morgens in Warnfarbe — an genau dem Tag, an dem er erledigt werden soll. Mein Test kannte „gestern" und „morgen", aber nicht die Grenze dazwischen.
Der Schnellstart zählte Läufe fremder Kunden mit. Eine Vorlage ohne Kundenbezug gilt für alle (#009); ihr Zähler sammelte die Läufe sämtlicher Kunden — eine Auskunft über fremde Betriebe, die außerdem die Reihenfolge nach fremder Arbeit sortierte.
Dazu fünf Befunde: ein E2E-Test, der kein Passwort finden konnte (er lief gegen eine Vorlage ohne Passwortschritt); ein Trigramm-Index, der strukturell unerreichbar war, weil der Titeltreffer aus der materialisierten CTE las (vom Review mit 40 000 Läufen gemessen); ein berechnetes und nie benutztes Feld; ein Link, der mehr versprach, als die Zielseite kann; und eine Passwort-Zusage, die zu absolut formuliert war.
Prüfstand
pnpm lint, typecheck, format:pruefen, pruefe:doku grün · 980 Tests (vorher 930) · 67 Ende-zu-Ende-Tests gegen den gebauten Stand · Screenshots in docs/screenshots/m10/.
Der Meilenstein M10: der Einstieg am Schreibtisch und das Gedächtnis der Anwendung.
## Was drin ist
- **Übersicht** mit Überfälligem, eigenen Zuweisungen, zuletzt Bearbeitetem und Schnellstart. Überfällig steht oben und ist das Einzige in Warnfarbe — riefe jeder Block, riefe keiner.
- **Archiv** mit Volltextsuche über Titel, Notizen, erfasste Werte und Kommentare, sechs Filtern und der **Fundstelle im Treffer**: die Liste sagt, ob der Begriff im Titel, in einer Notiz, in einem Wert oder in einem Kommentar steht, und hebt ihn hervor.
- **Druckansicht** eines Laufs: hell, ohne Navigation, A4 — sie ersetzt im MVP den PDF-Export.
## Zwei Blocker aus dem unabhängigen Review, beide im Dashboard
1. **„Überfällig" traf auch, was heute fällig ist.** Verglichen wurde mit dem Augenblick statt mit dem Tagesbeginn; ein Datumsfeld speichert Mitternacht UTC, und damit stand ein heute fälliger Lauf hierzulande ab zwei Uhr morgens in Warnfarbe — an genau dem Tag, an dem er erledigt werden soll. Mein Test kannte „gestern" und „morgen", aber nicht die Grenze dazwischen.
2. **Der Schnellstart zählte Läufe fremder Kunden mit.** Eine Vorlage ohne Kundenbezug gilt für alle (#009); ihr Zähler sammelte die Läufe sämtlicher Kunden — eine Auskunft über fremde Betriebe, die außerdem die Reihenfolge nach fremder Arbeit sortierte.
Dazu fünf Befunde: ein E2E-Test, der kein Passwort finden **konnte** (er lief gegen eine Vorlage ohne Passwortschritt); ein Trigramm-Index, der strukturell unerreichbar war, weil der Titeltreffer aus der materialisierten CTE las (vom Review mit 40 000 Läufen gemessen); ein berechnetes und nie benutztes Feld; ein Link, der mehr versprach, als die Zielseite kann; und eine Passwort-Zusage, die zu absolut formuliert war.
## Prüfstand
`pnpm lint`, `typecheck`, `format:pruefen`, `pruefe:doku` grün · **980 Tests** (vorher 930) · **67 Ende-zu-Ende-Tests** gegen den gebauten Stand · Screenshots in `docs/screenshots/m10/`.
Closes #15
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Der Einstieg am Schreibtisch und das Gedaechtnis der Anwendung. Die Uebersicht
sortiert nach Dringlichkeit — ueberfaellig zuerst, und das ist das Einzige in
Warnfarbe; alles andere auf der Seite ist Auskunft.
Das Archiv sucht ueber Titel, Notizen, erfasste Werte und Kommentare in einer
SQL-Anweisung: `Schrittergebnis.wert` ist ein Json, und nur `("wert")::text`
trifft den Trigramm-Index aus #006. Vor allem aber gehoert die Fundstelle zum
Treffer — ein Treffer ohne sichtbaren Grund ist fuer den Suchenden wertlos.
Die Druckansicht ist ein eigenes Lesemodell und kein Schalter an
`laufZumAbarbeiten`: dort entsteht beim Fuellen der Befehle ein Passwort, und auf
einem Blatt, das jemand abheftet, darf keines stehen. Vom Mitarbeiter holt sie
nur Name, UPN und Abteilung — nicht alles und dann gefiltert.
Der unabhaengige Review fand zwei Blocker, beide im Dashboard: „ueberfaellig“
verglich mit dem Augenblick statt mit dem Tagesbeginn, und der Schnellstart
zaehlte Laeufe fremder Kunden mit. Was „ueberfaellig“ heisst, steht seitdem in
`src/lib/fristen.ts` — eine Regel fuer Lesemodell und Anzeige.
Closes#15
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 M10: der Einstieg am Schreibtisch und das Gedächtnis der Anwendung.
Was drin ist
Zwei Blocker aus dem unabhängigen Review, beide im Dashboard
Dazu fünf Befunde: ein E2E-Test, der kein Passwort finden konnte (er lief gegen eine Vorlage ohne Passwortschritt); ein Trigramm-Index, der strukturell unerreichbar war, weil der Titeltreffer aus der materialisierten CTE las (vom Review mit 40 000 Läufen gemessen); ein berechnetes und nie benutztes Feld; ein Link, der mehr versprach, als die Zielseite kann; und eine Passwort-Zusage, die zu absolut formuliert war.
Prüfstand
pnpm lint,typecheck,format:pruefen,pruefe:dokugrün · 980 Tests (vorher 930) · 67 Ende-zu-Ende-Tests gegen den gebauten Stand · Screenshots indocs/screenshots/m10/.Closes #15
🤖 Generated with Claude Code
Der Einstieg am Schreibtisch und das Gedaechtnis der Anwendung. Die Uebersicht sortiert nach Dringlichkeit — ueberfaellig zuerst, und das ist das Einzige in Warnfarbe; alles andere auf der Seite ist Auskunft. Das Archiv sucht ueber Titel, Notizen, erfasste Werte und Kommentare in einer SQL-Anweisung: `Schrittergebnis.wert` ist ein Json, und nur `("wert")::text` trifft den Trigramm-Index aus #006. Vor allem aber gehoert die Fundstelle zum Treffer — ein Treffer ohne sichtbaren Grund ist fuer den Suchenden wertlos. Die Druckansicht ist ein eigenes Lesemodell und kein Schalter an `laufZumAbarbeiten`: dort entsteht beim Fuellen der Befehle ein Passwort, und auf einem Blatt, das jemand abheftet, darf keines stehen. Vom Mitarbeiter holt sie nur Name, UPN und Abteilung — nicht alles und dann gefiltert. Der unabhaengige Review fand zwei Blocker, beide im Dashboard: „ueberfaellig“ verglich mit dem Augenblick statt mit dem Tagesbeginn, und der Schnellstart zaehlte Laeufe fremder Kunden mit. Was „ueberfaellig“ heisst, steht seitdem in `src/lib/fristen.ts` — eine Regel fuer Lesemodell und Anzeige. Closes #15 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>