BEV-DXF — Produktionsnachweis
Stand: 26. August 2026
Produktiv aktiviert und rücklesbar. Der letzte Consumer aus Issue #412 wurde auf dem geprüften Merge-Commit ausgerollt. Dunkelzustand, Positiv- und Negativpfade, Parser-Kompatibilität, Rollback und anschließende Wiederaktivierung sind tatsächlich ausgeführt. Der aktuelle Produktionszustand ist
DXF_EXPORT_ENABLED=true.
Geprüfte Ausgangsbasis
- Source
bev-parzellen, Distributionbev-dkm-gpkg-pilot-snapshot, Zweck und Kanalexport; - Pilot
bev-gaenserndorf-pilot-v1, BBox[16.64,48.28,16.8,48.4]; - aktiver Export-Release
7ae1d4da-e5d5-5c09-ae1f-15997506d4f7, Pointer-Version1, mit 28.535 vollständig umschlossenen, unveränderten Originalpolygonen, 1.211 ausgeschlossenen Public-Geometrien und 15 Quarantänefällen; - unveränderter öffentlicher Release
655a7dc3-1f7a-5bdc-a329-d73f1c458320, Pointer-Version2, mit 29.746 veröffentlichten Originalpolygonen; - Rechtebedingungen
attribution,sourceLink,licenseLink,changeNotice,nonEndorsement,valueAddedReport,notStandaloneBevProduct,pilotCoverageOnlyundnoOwnerData; parcel_dxfist im Consumer-Inventarrelease_boundund bleibt aus der Public-Display-/Standort-Check-Matrix ausgeschlossen.
Der produktive Export-Pointer ist zusätzlich durch den Infrastruktur-Readback vom 25. August belegt. Dieser ältere Nachweis bleibt historische Vorabevidenz und wird nicht rückwirkend als DXF-Live-Nachweis umgedeutet.
Code-, CI- und Deployment-Evidenz
- Implementierungs-PR:
#528, gemergt am
2026-08-26T05:53:58Z; - geprüfter Implementierungscommit:
3f8dd542213d42072e9836e66789d524d97e4c43; - produktiver Merge-Commit:
8b276764f8d5803e8dc6ecdbe54323d8b38445c1; - erfolgreicher GitHub-Actions-Lauf:
32935219822,
Start
2026-08-26T05:44:21Z, Abschluss2026-08-26T05:53:49Z; - alle CI-Stufen einschließlich des echten PostGIS-Publish-/Pilot-/Boundary-/ Kanal-Rollback-Harness waren grün;
- letzter automatischer Dunkel-Deploy:
dpl_8ux54iM3C71qap6NPmQBS9zrnfjy, erstellt2026-08-26T05:54:02.934Z; - Dunkel-Readback auf diesem Deploy: GET und OPTIONS jeweils
404 private, no-store; OpenAPI200,Cache-Control: no-store,X-Vercel-Cache: MISSund kein DXF-Path-Item; - erster kontrolliert aktivierter Deploy:
dpl_GmoBsGpFbdF6s8dyDcg6ms6q9wKd, erstellt2026-08-26T05:56:20.608Z; der Response-Readback bestätigte exakt den Merge-Commit8b276764f8d5803e8dc6ecdbe54323d8b38445c1, bevor Positiv- und Negativfälle ausgeführt wurden; - GitHub-Deployment
6098011444referenzierte exakt den Merge-Commit und meldete erfolgreich Produktion; - finaler aktiver Vercel-Deploy:
dpl_CaUMXVpyerL5iV6BzraupmboMgtr, erstellt2026-08-26T06:04:28.376Z, StatusREADY, Aliashttps://www.landnutzen.at; - der Response-Readback bestätigte auch beim finalen Deployment exakt
x-deploy-commit: 8b276764f8d5803e8dc6ecdbe54323d8b38445c1.
Vor dem Merge bestanden lokal 260 Testdateien bei sechs übersprungenen sowie 3.388 Tests bei 39 übersprungenen Tests. Typecheck, ESLint, Build, Content-/SEO- Prüfung, drei Browser-Dokumentationstests und das echte PostGIS-Harness waren grün.
Verbindlicher Ausgabe- und Gate-Vertrag
Der Endpunkt liest ausschließlich einen bereits gespeicherten wertschöpfenden
Report und dessen identischen Public-/Exportstand. Mindestens eine Nicht-BEV-
Quelle muss den Mehrwertkontext belegen. Ausgegeben werden nur vollständige,
unveränderte ST_CoveredBy-Originalpolygone in voller Stützpunktdichte; kein
Clipping, keine Vereinfachung, kein Mittelpunktgate und kein Legacy-/WMS-
Fallback. Pflicht sind die sichtbare Namensnennung
Datenquelle: BEV – Bundesamt für Eich- und Vermessungswesen (data.bev.gv.at), CC BY 4.0
sowie Quellen-/Lizenzlink, Bearbeitungshinweis, Nicht-Unterstützung und die Grenze „kein rechtsverbindlicher Vermessungsplan“. Eigentümerdaten, ein eigenständiges BEV-Produkt, allgemeiner Katasterdownload und nationale Abdeckung bleiben ausgeschlossen.
Das OpenAPI-Path-Item existiert nur bei beiden Gates:
parcel_dxfistrelease_bound;DXF_EXPORT_ENABLEDist exakttrue.
Das Flag ersetzt keinen Release-, Report-, Rechte-, Coverage-, Freshness-,
Quality-, Quarantäne- oder Boundary-Nachweis. false bleibt der unmittelbar
getestete Rollbackzustand: GET und OPTIONS liefern dann 404 private, no-store, und der ungecachete OpenAPI-Vertrag enthält keinen DXF-Pfad.
Nicht personenbezogener Live-Report
Für den positiven Innenfall wurde genau ein anonymer Report für den öffentlich bekannten Standort „Volksschule Gänserndorf-Süd, Schulgasse 2“ erstellt:
- Report-ID gekürzt
mPVM…p0Cy, weil Report-IDs als öffentliche Zugriffscapabilities behandelt werden; - Koordinate
48.3058992, 16.6848337; - Tier
free, keine Kontozuordnung; - erstellt
2026-08-26T05:59:53.330Z, Ablauf nach exakt 90 Tagen am2026-11-24T05:59:53.330Z; - gespeicherter Public-Release
655a7dc3-1f7a-5bdc-a329-d73f1c458320und weitere Nicht-BEV-Quellen.
Der öffentliche anonyme POST-Bucket der gemeinsam genutzten Produktions-IP war
zu diesem Zeitpunkt bereits ausgeschöpft. Daher lief diese eine autorisierte,
nicht personenbezogene QA-Schreiboperation über denselben internen
Anwendungspfad buildReport → resolveBevExportReportContext → saveReport.
Es wurden keine personenbezogenen Produktionsdaten und kein Konto angelegt.
Positiv- und Parser-Readback
Der aktive Endpunkt
GET /api/v1/report/{qa-report-id}/dxf lieferte:
- HTTP
200,Content-Type: image/vnd.dxf; charset=utf-8,Content-Disposition: attachment,Cache-Control: private, no-store; X-LandNutzen-Source: bev-parzellenund einen Provenienz-Link;- 3.516 Bytes ASCII-DXF mit gültigem
EOF; - SHA-256
3abc295d3535b33ea14ea1d423b7ce6ba5bb373bddfa6d655f118b3c96244a65; - genau eine Zielparzelle, keine
LN_NACHBARNim Free-Tier; - sichtbare Metadaten für Grenzkataster,
EPSG:31287, DKM-Stand2026-04-01, BEV/CC-BY-4.0, Quellen- und Lizenzlink, Bearbeitungshinweis, Nicht-Unterstützung, Vermessungsgrenze sowie beide Release-IDs.
Ein gepinntes GDAL 3.13.3
(ghcr.io/osgeo/gdal@sha256:58e21a794e3e49c2882a078cf39625aa8d1f86188e0273f74156e9f3f3cd0253)
erkannte den Treiber DXF, den Layer entities, 14 Features und die Extent
(648387.296000, 494851.410000) – (648633.224000, 495089.707000). Die
GeoJSON-Konvertierung enthielt eine Parzellen-LineString mit 23 Koordinaten
und 13 Textpunkten. Der direkte atomare Adapter lieferte für denselben Standort
eine MultiPolygon-Zielgeometrie mit einem Ring und ebenfalls 23 Stützpunkten;
damit ist die vollständige Stützpunktdichte vom Adapter bis zum Fremdparser
belegt.
Der gespeicherte Report blieb auch in den anderen Oberflächen konsistent:
- GeoJSON:
200, 14 Features, genau ein Treffer, identische Public-/Export- Release-IDs; - PDF:
200 application/pdf,private, no-store, 13 A4-Seiten, PDF 1.7; der Text-Readback enthielt Grenzkataster, BEV, DKM und den Stand2026-04-01; - OpenAPI:
200,Cache-Control: no-store,X-Vercel-Cache: MISS, DXF-Pfad vorhanden.
Negative Gates
- formal ungültige Report-ID:
400 bad_id; - syntaktisch gültige, unbekannte Report-ID:
404 report_not_found; - vorhandener Rathaus-Report innerhalb der Quarantänehülle:
503 source_not_released, ohne internen Adapterzustand; - aktives OPTIONS:
204; - alle Fehlerantworten:
private, no-storeund redigierter Vertrag.
Damit sind Eingabe-, Reportvorhandenseins- und Quarantänegate live belegt; der qualifizierte Innenfall belegt zusätzlich die exakte Public-/Export-Pointer- Bindung. Außen-Coverage, Boundary-Mehrdeutigkeit und abweichender Reportkontext sind durch Route-, Contract- und echte PostGIS-Tests belegt, wurden aber nicht als zusätzliche Live-Fälle ausgegeben. Der Rathausfall ist zugleich der Gegenbeweis, dass ein vorhandener Report und ein aktives Flag allein keine Geometrie freigeben.
Ausgeführter Rollback und finale Wiederaktivierung
Das Flag wurde nach dem positiven Readback auf
DXF_EXPORT_ENABLED=false gesetzt und derselbe geprüfte Commit erneut
ausgerollt:
- Rollback-Deploy
dpl_7qM4jzTSZNkGULwDniYJDA1WkgnF, erstellt2026-08-26T06:02:22.796Z; - GET und OPTIONS
404 private, no-store; - ungecachetes OpenAPI
200 no-store,X-Vercel-Cache: MISS, DXF-Pfad abwesend; - Public-Pointer Version 2 und Export-Pointer Version 1 einschließlich ihrer Release-IDs unverändert.
Anschließend wurde DXF_EXPORT_ENABLED=true wiederhergestellt und der finale
Deploy dpl_CaUMXVpyerL5iV6BzraupmboMgtr erzeugt. Der DXF-Readback lieferte
erneut bytegleich denselben SHA-256, OPTIONS wieder 204, OpenAPI den DXF-Pfad
und GDAL erneut 14 parsbare Features. Der letzte Pointer-Readback um
2026-08-26T06:07:02.270Z bestätigte weiterhin dieselben Public-/Export-
Releases.
Ergebnis und Betrieb
Issue #412 ist technisch, produktiv und dokumentarisch erfüllt. Der aktuelle
Produktionszustand ist DXF_EXPORT_ENABLED=true; false ist der nachgewiesene
Sofort-Rollback. Die distributionsgenaue NÖGIS-Rechteklärung bleibt getrennt in
#413 offen.
Alle temporären lokalen Live-Artefakte und die nur für den Readback angelegte temporäre Produktions-Umgebungsdatei wurden nach der Prüfung gelöscht. Die persistierte anonyme QA-Reportzeile folgt ihrer dokumentierten 90-Tage- Retention.