--- id: DIS-107 status: done phase: 1 priority: p1 labels: [phase:1, type:feat, priority:p1] branch: phase-1/zod-schemas assignee: claude-agent started: null pr: null merged: 2026-04-10 --- # DIS-107: Zod-Schemas für Config, `agent.yaml`, CLI-JSON-Output ## Ziel Alle externen Daten (Config-Datei, `agent.yaml`, Claude-CLI-JSON-Output) werden via Zod validiert. Frühzeitige, verständliche Fehlermeldungen bei fehlerhafter Konfiguration. ## Kontext → `docs/development-plan.md` §3 (Zod als Dependency), Phase 1 Task 7. ## Scope - **In**: `src/config/schema.ts` (DisClaw-Config-Schema) · `src/agent/schema.ts` (`agent.yaml` + CLI-Output-Schema) · `src/config/loader.ts` + `identity.ts` nutzen Schemas · `zod` in `dependencies` - **Out**: Zod-Transforms für DB-Queries (separate Issue) ## Definition of Done - [ ] Alle externen Dateneingaben gehen durch Zod-Parse - [ ] Ungültige `disclaw.yaml` → verständliche Fehlermeldung mit Feldname und erwartetem Typ - [ ] Unit-Test `tests/unit/schemas.test.ts` für jeden Schema-Typ (valid + invalid cases) - [ ] `npm run build && npm test` grün ## Dateien (erwartet) - `src/config/schema.ts` - `src/agent/schema.ts` - `src/config/loader.ts` - `src/agent/identity.ts` - `package.json` - `tests/unit/schemas.test.ts` ## Abhängigkeiten Blockiert durch: **DIS-101**. ## Spec → `docs/backlog.md` #DIS-107