PDF/UA Slice I: echte interne Parzellenreferenz

Stand: 5. September 2026. Implementierungsrelease PR #554; Issue #553; Parent #333 bleibt offen.

Abgrenzung und Vertrag

ADR-0067 wurde vor der Implementierung festgelegt. Der vorhandene anonyme QA-Report der Volksschule Gänserndorf-Süd ist lesend bestätigt. Kein neuer Report wurde erzeugt. Der Einstieg akzeptiert keine Argumente zur Identität oder Geometrie und besitzt keine HTTP-Route. Vollständige Report-IDs sind Zugriffscapabilities und bleiben ausschließlich im Prozessspeicher; vollständige Reports und Rohgeometrie werden nicht veröffentlicht.

Der Schul-Referenzfall wurde im dokumentierten Millisekundenfenster vom 26. August 2026 eindeutig gefunden. PostgreSQL speichert weitere Zeitstellen; ein Gleichheitsvergleich gegen den gekürzten JavaScript-Zeitstempel fand keine Zeile. Das Millisekundenintervall plus historisch dokumentiertes ID-Präfix/-Suffix liefert genau einen Treffer. Anonymität, fehlende Kontozuordnung, Cookie-/IP-Bezug, Label und Notiz sowie aktuelle Retention bis 24. November 2026 sind bestätigt.

Aktuelle Quelle und Gates

Der echte Reportstore und der atomare Exportadapter liefen erfolgreich. Public-Release 655a7dc3-1f7a-5bdc-a329-d73f1c458320, Pointer-Version 2, und Export-Release 7ae1d4da-e5d5-5c09-ae1f-15997506d4f7, Pointer-Version 1, stimmen mit dem Report überein. Der Export ist qualified, der Ingest erfolgreich und die Zeilenzahl konsistent. Rechteprüfung, Freshness, vollständige Pilot-Coverage und valide Geometrie bestehen; Quality ist ehrlich passed_with_warnings. Im tatsächlichen Suchfenster befinden sich keine Quarantänetreffer. Der bestehende atomare Adapter prüft diese Gates vor jeder Zielauswahl.

Die Quelle ist ein MultiPolygon mit einer Teilfläche, einem Ring und 23 Koordinaten. Ihre geografische Fläche beträgt 26.482,7443 m²; der gespeicherte Report nennt korrekt gerundet 26.483 m². Der aktuelle Kartenadapter verwendet bereits ST_SimplifyPreserveTopology mit 0,00001 Grad und GeoJSON mit sechs Dezimalstellen. Damit hat das Ziel neun Koordinaten einschließlich Ringschluss, also acht Eckpunkte. Die Vereinfachung überführt das einteilige MultiPolygon in ein Polygon; ein privater visueller Überlagerungsvergleich bestätigt die Trefferform vor und nach dieser Transformation. Dies ist keine unveränderte Originalstützpunktdichte.

Der qualifizierte Adaptereingang hat 14 Features. Das explizite interne Profil PDF-UA-TARGET-SELECTION-I-1 wählt erst danach genau ein als Treffer markiertes Feature aus und erhält dessen vollständige Geometrie unverändert. Ein Nachbar-Innenring sperrt weiterhin das H-Standardprofil. Innenringe oder Ungültigkeit im Ziel selbst, mehrere Treffer und negative Exportgates werden auch in I abgelehnt. Keine Löschung von Ringen, kein Clipping und keine Ersatzskizze.

Die ausgewählte Zielgeometrie wird proportional, zentriert, mit metrischer Näherung und Norden oben dargestellt. Ausdehnung: 245,6 × 206,6 Meter. Der Hash der ausgewählten Zielgeometrie ist identisch mit dem unabhängig aus der aktuellen Originalquelle berechneten Kartenadapter-Zielhash. Die Quelle und der vollständige qualifizierte Adapter werden nach dem Rendern erneut geprüft; Report-, Quellen- oder Releaseänderungen verwerfen das Ergebnis.

StufeSHA-256
Originales EWKB, vollständige WGS84-Geometriee962928c1fc932baf21b1fb5aa05d5d49153b564fbc7e9aff8b1b55e919d4ef7
Originales GeoJSON, 15 Dezimalstellen3a207ccad234ea60b4c49e6a859875823fbee75d58ca3bfd649ca0399eb068b6
Vollständiger qualifizierter Kartenadaptereingangd4e993d3ceffd0fc11a6af4c8374ad5f069bb214af305688e5265b17e71ce676
Unveränderte ausgewählte Zielcollection26d5d9ba6571fe525baa6981ce6127dc6c73b43a9e624d3a7030a10f620fabce
Ausgewählte Zielgeometrie29810f30b41b117166ee101c7be7b5e38f0d5387641552ca38a44b6ea17d3949
Projektionspfade49c5f6dd7eea2ba746a7d0afe41bb4471dc5df77d39d7c80b494e3475e1090a4
Finalisierte interne PDF auf Merge 5609b18eafb7de4575be484e2cc1fb65be73db97fcedd4fa4f4a9560513a41cf4313770

GeoJSON-Hashes verwenden JSON.stringify der Objekte, für einzelne Geometrien in der Reihenfolge type, coordinates. Der originale EWKB-Hash umfasst die dekodierten Bytes. Der Pfadhash umfasst die projizierten Punktarrays. Die Reportbindung ist ein eigener SHA-256 des unveränderten Reportinhalts aus getReport (stored.report); weder Reportinhalt noch Zugriffscapability werden publiziert.

Lokale Abnahme

Der inhaltliche Rotlauf reproduzierte zwei Fehler bei drei bestandenen Negativfällen: keine Ziel-Figure bei Nachbar-Innenring und Ablehnung der echten Adresse durch den synthetischen Mapper. Nach dem eigenen QA-Mapper und dem expliziten Auswahlprofil bestehen dieselben Tests. Zusätzliche Tests prüfen Selektor, fehlende/mehrdeutige Referenz, Kontobindung, Orts-/Tier-/Zeitänderung, Report-/Releaseänderung während des Renderns, sensible Fehlerredaktion, Consumer-Sperre, alle negativen Exportzustände und geänderte Vektorpfade/Alt-Texte. Das PM-Review fand einen zunächst falsch positiven Nachrender-Test: Eine unvollständige View scheiterte schon am Originalsource-Abgleich. Die ergänzte Kontrollflussprüfung reproduzierte dies rot (Renderaufrufe 0 statt 1). Nach Korrektur ist der erste View vollständig gültig und erst der zweite gesperrt; Renderaufruf sowie zwei Adapter-/Viewaufrufe sind nun explizit belegt. Ein weiterer Fall verändert ausschließlich den Originalhash beim zweiten Quellread und verwirft das bereits gerenderte Ergebnis trotz gleicher Adapterview.

Der feste interne CLI-Lauf wurde am 5. September 2026 um 07:48:47 UTC auf dem sauberen Merge-Commit 5609b182db810983e0240eacbab5cfce2eb9ac5a mit der aktuellen Produktionsquelle erneut ausgeführt. Das minimierte Manifest bindet codeCommit, trackedTreeClean = true, Original-/Adapter-/Projektionshashes und den obigen finalen PDF-Hash. Alle acht Chrome-Raster stimmen mit dem bereits nativ und im PM-Review geprüften Head-Beleg überein.

Diese finale Datei besteht veraPDF 1.30.2 mit 106 Regeln und 26022 Checks. Sie besitzt acht A4-Seiten, drei informative Figures und vier strukturgebundene Links. Beide Poppler-Renderer, Apple PDFKit/Quartz und der gepinnte echte Chrome/PDFium-Viewer prüfen jeweils alle acht Seiten, seitenspezifischen Inhalt, Links und sichtbaren Seiteninhalt. Apple Vorschau wurde zusätzlich tatsächlich geöffnet: Ziel-Figure und Alt-Text stehen vor Caption und Steckbrief; Lage, Fläche und Quellenblock auf Seite 6 sind sichtbar, lesbar und nicht abgeschnitten. Das ist eine begrenzte native Viewerprüfung, keine neue umfassende VoiceOver-Produktabnahme.

Real sind ausschließlich Zielgeometrie, Lage, gespeicherte DKM-Reportfläche, Datenstand und Herkunft. Der übrige Achtseitenprüfstand mit Risiken, Kosten, Szenarien und fachlichen Sektionen ist ausdrücklich synthetisch. Er enthält keine fachliche Aussage über die Volksschule. Zugriffscapability, Kontodaten, Notizen und vollständige Reports sind in PDF und Evidence nicht enthalten.

Chrome exponiert 18 heuristische Überschriften und sechs Links: zwei automatisch erkannte sichtbare Attribution-URLs und vier benannte Annotationen. Tabellen-, Listen- und Bildrollen fehlen weiterhin. Das I-Darstellungsprofil prüft diese sechs sichtbaren Links ausdrücklich; das getrennte semantische Soll bleibt 20/7/6/3/4 und ist nicht bestanden. H bleibt unverändert 20/7/6/3/2.

Der vollständige lokale Testlauf besteht mit 3.600 Tests (43 umgebungsgebundene Tests übersprungen); der isolierte PostgreSQL-Roundtrip besteht mit vier Tests. Vollständiger Typecheck, ESLint und Next-Produktionsbuild mit Node 24.19.0 sind grün. Der Build verwendete ausschließlich eine unerreichbare lokale Dummy-DB. Die unveränderte H-Vier-Tier-Regression besteht mit veraPDF und 32/32 Seiten in beiden Poppler-Renderern, Apple PDFKit/Quartz und Chrome/PDFium.

Reproduktion und sichere lokale Artefakte

Mit einer privat bereitgestellten bestehenden Produktions-DATABASE_URL führt npm run qa:pdf:ua-reference den festen lesenden QA-Pfad aus. Die Ausgabe liegt ausschließlich in .tmp/pdf-ua-reference: finale PDF, minimiertes Manifest, Validator-/Viewerzusammenfassung, Textschicht und Raster. Der Befehl akzeptiert keine Identitäts- oder Geometrieargumente. Die temporäre lokale Datei mit dem bestehenden Datenbankzugang wurde nach der letzten lesenden Prüfung entfernt; Zugangsdaten gehören weder in Git noch in öffentliche Evidence.

Der Datenbankteil wird nicht automatisch in CI oder Previews ausgeführt. CI prüft seine Verträge mit ausdrücklich gemockten Daten. Der gebaute Preview prüft weiterhin die vier bestehenden synthetischen H-Tiers und die gemeinsame Rendereränderung. Reale Abnahme und synthetischer Previewbeleg bleiben getrennt.

CI, Preview und Produktionsrelease

PR #554 wurde am 5. September 2026 als 5609b182db810983e0240eacbab5cfce2eb9ac5a gemergt. Die vollständige PR-CI 33952964794 ist am Head edc5af979a5d4da61e641b1d5fbc800b1a65ca4e grün: verify, PDF-Poppler-Regression und PDF-UA-Feasibility, einschließlich der PostgreSQL-Integrationsgates. Die vollständige Main-CI 33953550809 ist grün.

Der tatsächlich gebaute Preview dpl_3VanrR5gW9KweASY8j77FL3YnGzj ist READY auf exakt diesem PR-Head. Sechs Dokumentationsantworten bestehen Status 200, private/no-store, noindex und Inhaltsmarker. Vier synthetische H-Tier-POSTs liefern PDF mit Status 200 ohne Auth.js-Cookies; GET liefert leer 404. Das leere Report-POST antwortet 400 address_missing mit exaktem X-Deploy-Commit. Die vier heruntergeladenen Dateien bestehen finale Struktur, veraPDF, Text/Links sowie jeweils 32 Seiten in beiden Poppler-Renderern, Apple PDFKit/Quartz und Chrome/PDFium. Alle 32 Chrome-Raster sind identisch mit lokal. Chromes Accessibility-Übersicht kürzt lange Dateipfade; deshalb verwendet der Prüflauf byteidentische Downloadkopien unter einem kürzeren privaten Pfad. Dies ändert weder den H-Vertrag noch die deployten Dateien.

Produktionsdeployment dpl_FDEorR7WyuagkPvSw281WnREWSXB ist READY auf exakt 5609b182db810983e0240eacbab5cfce2eb9ac5a und trägt den Alias www.landnutzen.at. Der schreibfreie Live-Readback am 5. September 2026 um 07:49:57 UTC besteht zwölf Prüfungen: sechs Dokuportalseiten 200 mit Markern/private/no-store/noindex, alle vier Shadow-Tier-POSTs und ein GET leer 404 ohne Auth.js-Cookies sowie leeres Report-POST 400 address_missing mit exaktem X-Deploy-Commit. Die sichtbare Slice-I-Seite wurde zusätzlich im echten Browser geprüft.

Die echte I-PDF stammt ausschließlich aus dem internen CLI-Lauf mit lesendem Produktionsquellenzugriff. Der Produktions-HTTP-Beleg bestätigt veröffentlichte Dokumentation und die geschlossene synthetische Shadow-Route; er ist kein HTTP-Live-Readback einer echten I-PDF. Der begrenzte Dokuabschluss hält diese Belege fest; sein eigener Merge-/CI-/Deployment-/Live-Nachweis wird abschließend in Issue #553 und den PR-Kommentaren geführt, ohne selbstreferenzielle SHA-Schleife.

Öffentlicher React-PDF-Pfad und synthetischer Preview bleiben erhalten. Keine neue öffentliche Eingabe, kein neuer Nutzerreport, kein Provider/Import, keine Credentials-/Sicherheitskontrolländerung und kein PDF/UA-Produktrollout. #333 bleibt offen: Chrome-Tag-Semantik, weitere echte Karten, kontrollierter öffentlicher Rollout und Live-Readback eines echten Nutzerreports sind eigene Gates.