ADR-0054: Versioned platform starting schema
- Status: accepted
- Datum: 2026-09-04
- Phase: Control-plane onboarding
- Bezug: ADR-0036, ADR-0051, ADR-0031
Kontext
Neue Organisationen brauchten bisher ein vorseedetes Standard-Schema in der Mandanten-DB. Produktziel: Orgs starten auf grüner Fläche und können ein von Sysadmins versioniertes Linetra-Ausgangsschema einmalig als Standard importieren — oder bewusst mit einem leeren Standard starten.
Entscheidung
- Control-Plane speichert versionierte Packs (
starting_schema_versions+ kinds/fields) und einen Singletonactive_version_id. - Sysadmins modellieren unter
/settings/starting-schema(Neue Version → Entwurf → Veröffentlichen → aktiv für Onboarding). - Neue Mandanten erhalten kein
standardmehr beim Provisioning. - Onboarding-Wahl: Import (
POST /starting-schema/import) legtstandardan und kopiert die aktive published Version — oder leeres Standard (POST /starting-schema/create-empty). Beides nur, wenn noch kein Standard existiert. - Standard ist löschbar; danach erscheint der Übernahme-/Leer-Hinweis wieder. Überschreiben ohne Löschen ist verboten.
- Willkommens-Popup + Hinweis in der Schema-Liste (auch für Bestandskunden ohne Standard).
- Aufrufe, die das Standard-Pack brauchen (globale Kinds), legen bei Bedarf ein leeres
standardnach (ensure_standard_definition).
Verworfene Alternativen
| Alternative | Warum verworfen |
|---|---|
| Seed weiterhin im Tenant-Template | Keine grüne Fläche; Versionierung unmöglich |
| Import als zusätzliches Named Schema | Produkt will Standard als org-weites Pack |
| Skip ohne Standard-Zeile | Katalog-Operationen brechen mit „Schema standard not found“ |
Folgen
- Control-Alembic
0035_starting_schema. - API
/api/v1/starting-schema/*. - ADR-0036 „Standard nicht löschbar“ ist für Tenant-Standard überholt.