Skip to content

[Phase 1.5] DTC DOP JSON Schema Support #5

@rettde

Description

@rettde

Beschreibung

DTC DOPs (Diagnostic Trouble Code Data Object Properties) werden in cda-core/src/diag_kernel/schema.rs nicht unterstuetzt bei der JSON-Schema-Generierung. DTC-bezogene Endpoints (/faults) koennen daher kein vollstaendiges Schema liefern wenn include-schema=true angefragt wird.

Betroffene Dateien

  • cda-core/src/diag_kernel/schema.rs — Schema-Generierung
  • cda-sovd/src/sovd/components/ecu/faults.rs — Faults Endpoint
  • cda-interfaces/src/datatypes/faults.rs — DTC Datentypen
  • cda-database/ — MDD Parsing fuer DTC DOPs

Implementierungs-Tasks

  • DTC DOP Struktur analysieren (UDS SID 19 Subfunctions)
  • JSON Schema Mapping fuer DTC-spezifische DOPs definieren
  • Schema-Generierung in map_dop_to_schema() um DTC-Variante erweitern
  • DTC Status Byte Schema (ISO 14229-1, Annex D)
  • DTC Snapshot Record Schema
  • DTC Extended Data Record Schema
  • Integration mit /faults und /faults/{id} Endpoints

Unit Tests (Pflicht)

  • Test: DTC DOP mit Status Byte -> korrektes Schema
  • Test: DTC DOP mit Snapshot Records -> Array-Schema
  • Test: DTC DOP mit Extended Data -> korrektes Schema
  • Test: Kombinierte DTC Daten (Status + Snapshot + Extended)
  • Test: Schema ueber /faults?include-schema=true abrufbar
  • Test: Schema ueber /faults/{id}?include-schema=true abrufbar
  • Test: Schema-Validierung gegen echte DTC-Response-Daten

CrossCheck & Constraints

  • Pruefung gegen ISO 14229-1 DTC Definitionen (SID 19)
  • Pruefung gegen ISO 17978-3 Faults-Endpoint Spezifikation
  • Constraint: DTC-ID Format muss konsistent sein (6-stellig hex)
  • Constraint: Schema muss alle SID 19 Subfunctions abdecken die implementiert sind
  • Regressionstests: Bestehende Faults-Funktionalitaet unveraendert

Security Audit

  • DTC-Daten koennen sicherheitsrelevant sein (Crash-Historie) -> Zugriffskontrolle pruefen
  • Schema darf keine internen DOP-IDs leaken
  • Bounds-Check bei DTC Snapshot Record Anzahl

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