ADR-0019: Kind-Packs statt Vertikal-Zentrum
- Status: accepted
- Datum: 2026-08-26
- Phase: P8
- Lastenheft: ED-06, ED-08; Plattformvision Kind-Packs
Kontext
Glasfaser war der erste Anwendungsfall. Verkehrszeichen und Tunnel sollen im selben Stamm laufen, ohne fiber_* als Zentrum. ADR-0010 hat geo_objects × kind bereits abstrahiert; es fehlte eine Gruppierung der Kinds zu Vertikalen.
Entscheidung
Vertikale sind Kind-Packs (kind_packs + kind_pack_members). Ein Projekt aktiviert ein oder mehrere Packs (project_kind_packs). Neue Vertikale = neues Pack + optionale Beilage-Tabellen, dieselbe MVT/API-Familie. Seed: glasfaser (fiber_route, tkg, vao, crossing, permit_extension) und verkehrszeichen (traffic_sign). Tunnel erst, wenn Fachfelder vorliegen.
Begründung
Ein Bauprojekt mischt oft Trasse, Schilder und später Tunnel-Genehmigungsprodukte. Packs sind Registry, keine neuen Tile-Verträge. Scale: wenige Pack-Zeilen; Filter über bestehende kind.
Verworfene Alternativen
| Alternative | Warum verworfen |
|---|---|
| Verfahrenstyp: Projekt ist XOR Glasfaser/Schilder/Tunnel | Zementiert Silos; Mischprojekte brauchen Umbenennung |
fiber_projects plus Hang-off-Tabellen |
Zentrum nach dem ersten Noun; Check aus product-planning.mdc fällt durch |
JSONB-Pack auf projects |
Keine referenzielle Integrität zu geo_object_kinds |
Folgen
Editor und Dashboard listen Produkt-Kinds über die Packs des Projekts, nicht über einen hart kodierten Default fiber_route.