BLOCKING-Befunde aus "Tests & Sicherheitshaertung":
1) Coverage-Pfad war nie ausfuehrbar: @vitest/coverage-v8 fehlte in den
devDependencies, obwohl vitest.config coverage.provider "v8" setzt und
test:coverage "vitest run --coverage" aufruft. Paket passend zu vitest
^3.2 ergaenzt und installiert. coverage.include zog ganze Verzeichnisse
(src/lib/search, src/lib/geo) ein - inkl. DB-/HTTP-gebundener Wrapper
(Drizzle gegen Postgres, Nominatim/OSRM), die offline nicht laufen und
die globale Schwelle verwaesserten. Scope auf die REINE, offline
testbare Logik beschraenkt (perFile-Schwellen), I/O-Wrapper und reine
Typ-Module ausgenommen (per Integrations-/E2E-Tests abgesichert).
Fehlende Branch-Abdeckung in geo/eintreffzeit.ts mit Tests fuer
Einzel-Haversine-Fallback, reine Koordinaten-lose Liste und fehlende
OSRM-distances-Zeile geschlossen. npm run test:coverage: Exit 0,
Schwellen (Lines/Stmts/Funcs >=90, Branches >=80) erfuellt.
2) Driftschutz zu permissiv: isPublic() in tests/support/route-scan.ts
stufte ueber `route.startsWith(p)` jeden reinen String-Praefix als
oeffentlich ein (z. B. /loginhelp, /api/healthz, /api/authentication)
und liess solche Routen dem Auth-Gating-Driftcheck entkommen. Die
redundante dritte Bedingung entfernt; exakter Treffer und echtes
Unterpfad-Segment (p + "/") sind korrekt und ausreichend. Negativ-
Testfall ergaenzt.
Verifiziert (offline): tsc --noEmit (0), vitest run (233 passed,
7 DB-Tests deferred), test:coverage (Exit 0). DB-/Server-/Browser-
abhaengige Schritte deferred (kein Postgres/Server im Sandbox).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>