Österreich-Adaptervertrag v1

Stand: 25. August 2026

Zweck und Geltungsbereich

Der gemeinsame Österreich-Adaptervertrag prüft öffentlich nutzbare Datenquellen mit kleinen, eindeutig versionierten Canarys. Er gilt ausschließlich für den bereits freigegebenen Nutzungszweck public_display, die aktuell qualifizierte Distribution und die tatsächlich belegte regionale Abdeckung eines aktiven Source Release.

Die öffentliche Coverage-/Rechtematrix ist das verbindliche Eingangsgate. „Neun Bundesländer dokumentiert“ bedeutet nicht, dass jede Datenquelle in allen neun Ländern verfügbar ist. Ein erfolgreiches Adapter-Harness erteilt keine neue Daten-, Lizenz-, Export- oder KI-Freigabe.

Exakte Adapteridentität

Jede Probe gehört gemeinsam und unveränderlich zu:

regionCode|sourceSlug|distributionKey|usagePurpose|capability

Zusätzlich bindet der Adapter den erwarteten öffentlichen Kanal, den konkreten Coverage-Key, die aktive Release-ID und die Pointer-Version. Ein späterer Release-Wechsel, eine gleichnamige Fremddistribution oder eine andere Fähigkeit darf keine bereits begonnene Probe nachträglich legitimieren.

Der einzige in v1 zulässige Nutzungszweck ist public_display. Export, Rohdatenweitergabe, Grundstücksgeometrie, personenbezogene Daten, Ableitungen für Dritte und ml_ai sind nicht Teil des Contracts.

Zulässige Matrixzustände

Eine Probe darf den Provider erst anfragen, wenn die zugehörige Matrixzelle:

  1. available oder availableWithGaps ausweist;
  2. eine registrierte Quelle mit gültigem zweckbezogenem Rechtsnachweis zeigt;
  3. exakt die erwartete Distribution, Capability und den Kanal trägt;
  4. denselben qualifizierten Active Release und dessen Pointer-Version nennt;
  5. den erforderlichen Coverage-Key und das zugelassene Bundesland nachweist;
  6. gültige Freshness, bestandene Quality und einen release-gebundenen Consumer besitzt.

Die Matrixzustände gated, outsideCoverage und notConfigured bleiben geschlossen. Ein unbekannter oder nicht implementierter Adapter, eine fehlende Zelle, ein neuer Active Pointer und unvollständige Evidenz erzeugen keinen alternativen Provideraufruf.

availableWithGaps erlaubt ausschließlich den ausdrücklich belegten Scope. Bekannte Teillücken werden offengelegt; sie werden nicht zu nationaler Vollständigkeit umgedeutet.

Nationale Quellenfamilien

QuelleDistributionCapabilityCoverage-Key
PVGISpvgis-seriescalc-sarah3pv_yield_estimatecountry:AT
GeoSphere SPARTACUS v3spartacus-v3-1y-1kmreport_lookupcountry:AT

Beide Adapter verwenden dieselben 45 bereits versionierten öffentlichen Referenzpunkte: fünf eindeutige Standorte für jedes Bundesland AT-1 bis AT-9. Der Korpus enthält Stadt-, Tal-, Rand- und Höhenlagen, aber keine Privatadressen. Das Harness akzeptiert ausschließlich exakt versionierte Punkt-IDs, Namen, Regionen und Koordinaten; ein selbst behauptetes Länderlabel oder eingeschmuggelte Adressfelder werden nicht übernommen. PVGIS bindet zusätzlich seinen bereits bestehenden release-/hashgebundenen 45-Punkte-Nachweis; SPARTACUS v3 bleibt ein regionaler Klimaindikator und keine parzellenscharfe Messung oder Prognose.

Weitere in der Matrix verfügbare Quellen wie Orthofoto oder Brachflächen erhalten durch diese Tabelle keinen generischen Provideradapter. Jede neue Quellenfamilie benötigt ihren eigenen qualifizierten Probe-Vertrag.

Koordinaten- und Länderprüfung

Ein Canary benötigt vor dem Provideraufruf:

  • eine bekannte, eindeutig versionierte öffentliche Referenzpunkt-ID;
  • endliche gültige Breiten- und Längengrade;
  • einen ausdrücklich belegten Länderbezug AT;
  • den erwarteten österreichischen Bundeslandcode;
  • bei einem regionalen Piloten die Zugehörigkeit zum exakt freigegebenen Coverage-Scope.

Fremde Länder, fehlender Länderbezug, falsche Regionen, ungültige Koordinaten und Punkte außerhalb eines Piloten werden vor jeder externen Abfrage abgewiesen. Eine Rechteck-Bounding-Box beweist weder österreichisches Staatsgebiet noch die Zugehörigkeit zu einem Bundesland.

Regionale Piloten und offene Gates

Der BEV-Pilot ist auf bev-gaenserndorf-pilot-v1, point_lookup und [16.64,48.28,16.80,48.40] beschränkt. Die voneinander getrennten Hochwasser-Snapshot- und WMS-Piloten sind auf gf-marchegg-v1, ihren jeweils eigenen Release und [16.55,48.18,17.07,48.55] beschränkt.

Die allgemeinen fünf niederösterreichischen Österreich-Punkte reichen für diese Teilgebiete nicht aus: Nur der öffentliche Gänserndorf-Punkt liegt im BEV-Pilot-Scope. Ein regionaler Adapter darf erst ergänzt werden, wenn fünf eigene öffentliche Referenzpunkte innerhalb des exakten Piloten mitsamt Boundary- und Außenfall qualifiziert und versioniert sind. Der aktuelle Vertrag behauptet keine bestehende Pilotanbindung.

NÖGIS-Widmung und weitere ungeklärte Distributionen bleiben hinter Issue #413 geschlossen. BEV-GeoJSON, PDF-Parzellenumriss, DXF und weitere Exportpfade bleiben unabhängig von ihrer separaten Export-Release-Bindung aus diesem Public-Display-Adaptervertrag ausgeschlossen. parcel_dxf ist code-seitig release-gebunden und seit dem nachgewiesenen #412-Produktions- und Rollback-Cutover im getrennten Exportkanal aktiviert. Das öffnet keine Exportfähigkeit dieses Adaptervertrags. Rechte eines Snapshot-Consumers werden nicht auf WMS, Export oder andere Providerdistributionen übertragen.

Deterministischer Offline-Vertragstest

npm run qa:austria-adapters

Der Standardlauf verwendet ausschließlich synthetische Provenienz, Fake-Provider und die bereits dokumentierten öffentlichen Referenzpunkte. PVGIS und SPARTACUS v3 prüfen jeweils 45 österreichweite Punkte. Zusätzlich prüft ein synthetischer BEV-Pilotvertrag die fünf gesondert versionierten öffentlichen Gänserndorfer Punkte aus scripts/data/austria-adapter-pilot-reference-points.json sowie die Grenzen gegenüber Außenpunkten und ungeklärten NÖGIS-Quellen.

Dieser Fixture-Test aktiviert keinen produktiven Pilotadapter. Er benötigt keine Datenbank, keine Zugangsdaten und keine Internetverbindung; es gibt keinen Provideraufruf, keinen Produktionszugriff und keinen Datenimport.

Ergebnisse und Betriebsgrenzen

Das Harness unterscheidet die fachlichen Ergebnisse passed, failed, gated, outsideCoverage und notConfigured. Eine einzelne Adapterprobe meldet passed, failed oder outside_coverage. Ein Außenpunkt, fehlende Abdeckung und eine blockierte Quelle werden nie als erfolgreicher Treffer gezählt.

Der Lauf liest bestehende Nachweise und Anbieterantworten. Er importiert keine Quelldaten, verändert keine Registry-Freigabe, keinen Active Pointer und keine Coverage. Es werden keine Eigentümerdaten, privaten Adressen oder personenbezogenen Produktionsdaten angelegt.

Qualifizierte Snapshot-Consumer lesen ihre Fachzeilen zusätzlich über den run-gebundenen Current-Views-Vertrag. Dieser bindet jede sichtbare Zeile an denselben aktiven Release und genau dessen erfolgreichen Importlauf; Live-Checks, WMS-Fallbacks und Exporte bleiben davon getrennt.

Die Architekturentscheidung ist in ADR-0050 festgehalten.