From 97a68364440a841b2721615c8e952396249af4aa Mon Sep 17 00:00:00 2001 From: Schalli Date: Mon, 21 Sep 2026 09:43:40 +0200 Subject: [PATCH] docs(quick-260921-bi2): Entwickleranleitung auf Endstand 465/386/79 gebracht Der Lint-Abschnitt trug noch den Zwischenstand aus Aufgabe 1 (754/633/121). Jetzt der tatsaechliche Endstand nach allen drei Aufgaben, beide Ausnahmen weiterhin begruendet, plus die namentlich benannten Folgeaufgaben: fuenf zurueckgestellte a11y-Regeln, die bewusst nicht angewendete noUselessSwitchCase-Fundstelle, und die vier gemeldeten D-03-Symptomfunde. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01TPPB4ApQxzSU1rwV2Ffj9J --- docs/anleitung-entwicklung.md | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/docs/anleitung-entwicklung.md b/docs/anleitung-entwicklung.md index 1ad43b7..3a36145 100644 --- a/docs/anleitung-entwicklung.md +++ b/docs/anleitung-entwicklung.md @@ -70,11 +70,28 @@ Attrappen hängt und eine Umschreibung viel Bewegung bei null Gewinn wäre. In ` `emitDecoratorMetadata` erzeugten Abhängigkeitsdaten zerstört — Biome räumt das in der eigenen Regelbeschreibung ein (`biome explain useImportType`, Abschnitt „Caveat with TypeScript experimental decorators") und rät dort selbst zum Abschalten bei solchen Dekoratoren; der Schaden -würde von keinem Tor dieses Projekts bemerkt, da kein Test `createTestingModule` aufruft. Nach der -Konfigurationsbereinigung steht der Rückstand bei 754 Warnungen (633 in echtem Quelltext, 121 in -Testdateien), Fehlerstufe weiterhin 0 — vorher waren es 2923. Als eigene, benannte Folgeaufgaben -stehen noch aus: ein maschineller Durchgang über die verbleibenden mechanischen Regeln plus toter -Code, und danach ein von Hand gepflegter Durchgang über die Barrierefreiheits-Befunde in `apps/web`. +würde von keinem Tor dieses Projekts bemerkt, da kein Test `createTestingModule` aufruft. + +Nach Abschluss des gesamten Vorgangs 260921-bi2 (Konfiguration, maschineller Durchgang plus toter +Code, und von Hand gepflegte Barrierefreiheit) steht der Rückstand bei **465 Warnungen (386 in +echtem Quelltext, 79 in Testdateien)**, Fehlerstufe durchgehend 0 — vorher waren es 2923. Sechs +namentlich benannte Klassen bleiben absichtlich offen, weil jede eine Gestaltungsentscheidung oder +einen Verhaltenswechsel verlangt, den ein reiner Aufräum-Vorgang nicht treffen darf: +`a11y/noNoninteractiveElementInteractions` (11 Fundstellen) und `a11y/noStaticElementInteractions` +(5) verlangen die Entscheidung, ob ein geklickter Bereich eine echte Bedienung wird oder der Klick +verschwindet; `a11y/useKeyWithClickEvents` (5) verlangt einen bisher fehlenden Tastaturweg; +`a11y/noAutofocus` (4) würde den Eingabefokus beim Seitenaufruf verschieben; +`a11y/useAriaPropsSupportedByRole` (5) verlangt einen Blick auf jede Rolle einzeln; und +`complexity/noUselessSwitchCase` (1, in `apps/api/src/tenders/tender-normalizer.service.ts:60`) +wurde bewusst nicht angewendet, weil der Vorschlag eine Fallmarke streichen würde, die einen +Kommentar zur Absicht des Standardzweigs trägt — eine Unterdrückung wäre hier unehrlicher als das +sichtbare Stehenlassen. Dazu vier gemeldete, nicht reparierte Symptome aus dem toten-Code-Durchgang +(D-03): `force-password-change.interceptor.ts` prüft das HTTP-Verfahren nicht, bevor es eine Route +freigibt; `change-password/page.tsx` leitet nach erzwungenem Passwortwechsel nicht weiter und +frischt die Benutzerablage nicht auf; `VehicleTable.tsx` hat keinen Besetztzustand auf der +Löschschaltfläche; `SplitTab.tsx` trägt fest verdrahtete Texte statt Übersetzungen. Alle vier sind +als eigene Folgeaufgaben zu planen. + `pnpm lint` formatiert dabei nichts und besteht auch nicht auf Formatierung; für Formatierung gibt es getrennt `biome format --write`, das absichtlich von Hand angestoßen wird. Testrunner ist **Vitest** in beiden Apps (`apps/api/vitest.config.ts`, `apps/web/vitest.config.ts`); für `apps/web` läuft die