leistungsbilanz-ts/docs/releases/2026-10-30-d5b2285.md
Julian Appel 2807b010e9 Record the 2026-10-30 release
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 23:19:37 +01:00

3.3 KiB
Raw Blame History

Release 2026-10-30 – d5b2285

  • Tag: release-2026-10-30 auf d5b2285
  • Ziel: lokaler Compose-Stack (compose.yaml) auf dem Entwicklungsrechner von Julian (AUTH_DEV_AUTOLOGIN aktiv, Web auf 0.0.0.0:3001). Nicht die Produktivinstanz cj-ki.
  • Delta: erstes Release mit Gate, kein vorheriger release-*-Tag. Inhalt dieses Stands: Revit-Zuordnungsdialog mit Steckdosen-Höchstwert (R11–R14, 85cbdbf..fd7dcbb), schlankeres Laufzeit-Image (be8761a, d5b2285).
  • Urteil: Go mit Auflagen (nach Regel No-Go wegen rotem Test; Deploy von Julian am 2026-10-30 ausdrücklich freigegeben).
  • Datenbank: vor dem Start gesichert, data/backups/leistungsbilanz-2026-10-30T22-18-26-932Z.db (Integrität ok, 0 FK-Verletzungen). Migration 0018 (projects.max_sockets_per_circuit) lief beim API-Start.

Prüfungen

Prüfung Ergebnis Commit Hinweise
secrets (gitleaks) grün d5b2285 keine Funde
lint grün d5b2285 0 Fehler, nur bekannte Warnungen
test rot d5b2285 660/664; einziger Fehler revit-xlsx-scale Zeitbudget 15 s (gemessen 15,1–15,6 s, dreimal); auf fd7dcbb mit gleichem App-Code grün
sast (Semgrep) grün d5b2285 keine Funde
audit (npm) grün d5b2285 6 moderate (drizzle-kit/esbuild, exceljs/uuid), kein High/Critical
mutation grün d5b2285 11/11 erkannt
container grün d5b2285 Trivy-Image, Trivy-Config, hadolint; vorher 6 HIGH im mitgelieferten npm, behoben durch be8761a
security-review grün fd7dcbb frischer Kontext, keine K/H; 2 niedrige behoben (fd7dcbb), 1 niedrig offen
zap nicht ausgeführt – Instanz mit Autologin ist kein aussagekräftiges Ziel
fuzz nicht ausgeführt – keine OpenAPI-Beschreibung

K-Punkte (ASVS-light)

Punkt Bewertung Beleg
A1 Login-Pflicht belegt baseline.test.ts „jede Route verlangt Login“; Mutationen „Login-Pflicht entfernt“, „ungeschützte Route vor dem Auth-Guard“; neue Route in tests/external-object-assignment-plan-route.test.ts
A2 Identität belegt Baseline „gefälschte Identität wird abgelehnt“
A3 Port nicht am Proxy vorbei offen für diesen Rechner Entwicklungsinstanz ohne Proxy, Web auf 0.0.0.0:3001 mit Autologin (THREATMODEL D2/R15: nur ohne echte Projektdaten). Für cj-ki belegt (R6)
B1/B2 Objektzugriff nicht anwendbar THREATMODEL D1 (Julian, 2026-10-17), idorGap; fremde IDs eines anderen Projekts abgewehrt, Route-Test „rejects a circuit list of another project“
C1 SQL belegt nur Drizzle/gebundene Parameter, Semgrep grün
E1 Secrets belegt gitleaks grün
E2 CORS belegt Baseline „CORS lässt fremde Origins nicht zu“, Mutation
F1 High/Critical belegt npm audit ohne High, Container-Scan grün

Auflagen

  1. Zeittest revit-xlsx-scale: schwankt um das 15-s-Budget. Entscheidung offen: Budget anpassen oder als Ausnahme in docs/RELEASE-AUSNAHMEN.md eintragen (Julian/Christian).
  2. Fehlertexte bei 400 (niedrig, Security-Review): respondWithProjectCommandError gibt interne englische Meldungen aus. Ticket: fachliche Fehlerklasse, Rest generisch beantworten.
  3. Instanz mit Autologin: auf diesem Rechner nur ohne echte Projektdaten betreiben oder Web an 127.0.0.1 binden.