45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
---
|
|
id: DIS-107
|
|
status: backlog
|
|
phase: 1
|
|
priority: p1
|
|
labels: [phase:1, type:feat, priority:p1]
|
|
branch: phase-1/zod-schemas
|
|
assignee: null
|
|
started: null
|
|
pr: null
|
|
merged: null
|
|
---
|
|
|
|
# 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
|