28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
# Datenmodell
|
|
|
|
Der komplette Render-Payload besteht aus sieben Bereichen:
|
|
|
|
- `report`: Zeitraum, Erzeugungszeit und Versionsnummern
|
|
- `customer`: feste Kundendaten und Logo
|
|
- `design`: Theme und Branding-Tokens
|
|
- `metrics`: aktuelle Kennzahlen und Monatsvergleich
|
|
- `trends`: zwei bis zwoelf historische Monatswerte
|
|
- `content`: ausschliesslich der von Claude erzeugte redaktionelle Inhalt
|
|
- `legal_note`: fester Hinweistext
|
|
|
|
## Warum drei Schemas?
|
|
|
|
`claude-output-anthropic.schema.json` enthaelt die von der rohen Messages API unterstuetzten Strukturregeln. Nicht direkt unterstuetzte Laengen- und Wertebeschraenkungen stehen dort als Beschreibungen.
|
|
|
|
`claude-output.schema.json` prueft Claudes Ergebnis danach noch einmal streng, inklusive Textlaengen, Arraygroessen und Wertebereichen.
|
|
|
|
`report-payload.schema.json` validiert das fertige Gesamtobjekt direkt vor dem Rendern. Dadurch kann Claude weder Farben noch Zahlenformate oder Layoutbereiche veraendern.
|
|
|
|
## Versionsstrategie
|
|
|
|
- `report_version`: fachliche Gesamtversion des Reportformats
|
|
- `prompt_version`: Version der Claude-Anweisungen
|
|
- `template_version`: Version des HTML/CSS-Layouts
|
|
|
|
Eine Layoutaenderung erhoeht nur `template_version`. Eine veraenderte Bewertungslogik erhoeht `prompt_version`.
|