Skip to content

[Phase 1.7] Standardisierte Error Codes & Messages (ISO 17978-3) #7

@rettde

Description

@rettde

Beschreibung

Die Architektur-Dokumentation enthaelt .. todo:: define unter der Sektion Error Codes & Messages. Die SOVD-API muss standardisierte Fehlercodes und -nachrichten gemaess ISO 17978-3 zurueckgeben. Aktuell werden generische HTTP-Statuscodes und teilweise vendor-spezifische Fehlermeldungen verwendet, aber kein vollstaendiges Mapping der ISO-definierten Error-Strukturen.

Betroffene Dateien

  • cda-sovd/src/sovd/error.rsApiError Enum, VendorErrorCode
  • cda-sovd-interfaces/ — Error Response Datentypen
  • cda-sovd/src/sovd/components/ecu/ — Alle Endpoint-Handler
  • cda-core/src/diag_kernel/iso_14229_nrc.rs — NRC Mapping

ISO 17978-3 Error Response Struktur

{
  "error": {
    "code": "SOVD_ERROR_CODE",
    "message": "Human readable message",
    "details": { ... }
  }
}

Implementierungs-Tasks

  • ISO 17978-3 Error Code Katalog definieren (alle Standard-Codes)
  • GenericError Response Struktur implementieren
  • DataError Response Struktur fuer Data-Endpoints
  • OperationError Response Struktur fuer Operation-Endpoints
  • NRC -> SOVD Error Code Mapping (ISO 14229-1 Table A.1 -> ISO 17978-3)
  • HTTP Status Code Mapping pro Error Code (400/403/404/405/409/500/503)
  • Error Response Schema fuer OpenAPI Dokumentation
  • Konsistente Fehlerbehandlung ueber alle Endpoints
  • Vendor-spezifische Error Codes mit x- Prefix

Unit Tests (Pflicht)

  • Test: Jeder NRC Code -> korrekter SOVD Error Code
  • Test: Error Response Format entspricht ISO-Schema
  • Test: 404 bei nicht-existierender Resource
  • Test: 409 Conflict bei Lock-Verletzung
  • Test: 400 Bad Request bei ungueltigem Payload
  • Test: 403 Forbidden bei fehlender Berechtigung
  • Test: 503 Service Unavailable bei ECU Offline
  • Test: Error Response enthaelt include-schema wenn angefragt
  • Test: Vendor Error Codes haben x- Prefix
  • Test: Error Details enthalten hilfreiche Debugging-Info

CrossCheck & Constraints

  • Pruefung gegen ISO 17978-3 Error Response Definitionen
  • Pruefung: Alle bestehenden Error-Pfade muessen neues Format verwenden
  • Constraint: Error Messages duerfen keine internen Stack-Traces enthalten
  • Constraint: Error Codes muessen stabil sein (Breaking Change Policy)
  • Regressionstests: Bestehende Error-Handling-Tests anpassen

Security Audit

  • Error Messages duerfen keine internen Pfade/IPs leaken
  • Error Messages duerfen keine UDS Raw-Bytes exponieren
  • Stack Traces nur im Debug-Modus (nicht in Production)
  • Error Rate Limiting: Keine Information Disclosure durch Error-Enumeration
  • Konsistente Fehlerantwort-Zeiten (Timing Side-Channel Prevention)

Zeitschaetzung

Aufwand
Konventioneller Entwickler 2 PT
KI-Agent 0.5 PT

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions