data2dsl

Ticket 065: Robust deserialization of nested dict structures in skill normalize_raw (F07)

Goal and scope

Fix audit finding F07: When raw data is passed into data2dsl_skill._normalize_raw from JSON/MCP payloads, nested collections (such as tickets in Planfile, pages in Curllm/Diagit, services in Deta) arrive as plain Python dicts rather than typed dataclasses. Add robust deserialization in _normalize_raw so dicts are converted into their respective dataclasses (PlanfileTicketEvidence, CurllmPageEvidence, DetaServiceEvidence, DiagitPageEvidence) before calling adapter normalize.

SESSION_EXECUTION_AUTHORIZATION recorded from user prompt.

Acceptance criteria

Participants