ProofedMesh/schemas/README.md

22 lines
1.8 KiB
Markdown
Raw Normal View History

# ProofedMesh Schemas
Versionierte JSON-Schemas für die kanonischen Business-, Datenquellen- und Senken-Formate. Jedes Schema trägt am Objekt-Root `schema.name` und `schema.version`, damit Attestierungen die genutzte Fassung mit-signieren können (siehe [`docs/architecture/v1.1.md`](../docs/architecture/v1.1.md#user-content-61-fachliche-integritätsprüfung--schema-versionierung-verbindlich)).
**Versionspolitik:** Breaking Changes bekommen eine neue Hauptversion (`v1.0.0` → `v2.0.0`). Nicht-breaking Erweiterungen eine Minor- oder Patch-Version. Alte Versionen werden niemals verändert — sie werden parallel vorgehalten, solange Attestierungen aus ihrer Laufzeit noch verifizierbar sein müssen (Default-Retention 1 Jahr, siehe PII-Retention-ADR).
## Vorhandene Schemas
| Pfad | Rolle | Verwendet in |
| ----------------------------------------------- | ------------------------------ | -------------------------------------------------- |
| `expense/canonical/v1.0.0.json` | Kanonische Business-Form | Approval-Attestierung (`subject`, `materials`), Agent-A-Transform-Output |
| `ds/expense/project_assignment/v1.0.0.json` | Datenquellen-Rückgabe | Query Attestation von `ds:expense-db-app` / `project_assignments` |
| `sink/db/expense/v1.0.0.json` | Senken-Payload | Transform-Attestierung `expense.map_to_sink` → `sink:expense-db-app` |
## Namensschema
- `expense/canonical` — kanonische (senken-unabhängige) Business-Form
- `ds/<domain>/<resource>` — Datenquellen-Rückgabe
- `sink/<kind>/<domain>` — Senken-Payload
Pfad: `<namespace>/.../v<major>.<minor>.<patch>.json`. `$id` enthält die absolute URL unter `https://basicstack.de/schemas/...` (identisch zum Dateipfad).