Konflikte aufgelöst:
- docs/status/STATUS.md: Baustellen aus main (Basemap #88 ff., #93, #99, #100, #104) und aus dem
Audit-Branch zusammengeführt und neu nummeriert; Punkt Test-Audit auf den Endstand für sn_basis
(#76, PR #117) und den nächsten Schritt sn_verfahrensgebiet (#60) umgeschrieben; Stand 26.10.2026.
- docs/tests/testkatalog.md/.html: nicht von Hand zusammengeführt, sondern mit
scripts/testkatalog.py neu erzeugt (sn_basis auf unstable nach PR #117,
sn_verfahrensgebiet auf unstable).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
OnHandlerTests.test_on_layers_added_setzt_manuelle_auswahl_derzeit_zurueck verweist jetzt auf
das angelegte Issue #116; nach Freigabe erneut als geprüft markiert.
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 Testfälle nach Freigabe als geprüft markiert: test_verfahrensgebiet_manager.py komplett
(13 bestehende, davon 2 geschärft und 1 mit präzisiertem Docstring, und 1 neuer, der den
Ist-Zustand festhält). Befund: eine manuelle Auswahl des Verfahrensgebiet-Layers wird bei
jedem hinzugefügten Layer überschrieben; Issue-Entwurf vorbereitet.
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 Testfälle nach Freigabe als geprüft markiert: test_variable_wrapper.py komplett
(6 bestehende, davon 3 über das geschärfte Test-Double und 1 zusätzlich im Rückfall
geschärft, und 1 neuer für get_variable im Projekt-Scope). Keine Nebenbefunde.
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 Testfälle nach Freigabe als geprüft markiert: test_text_wrapper.py komplett
(1 geschärft, 1 mit präzisiertem Docstring). Nebenbefund (sorbische und andere
diakritische Zeichen werden ersetzt bzw. entfernt) als Issue-Entwurf vorbereitet.
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FileExistsTests.test_verzeichnis_gilt_derzeit_als_vorhandene_datei verweist jetzt auf das
angelegte Issue #114; nach Freigabe erneut als geprüft markiert.
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 Testfälle nach Freigabe als geprüft markiert: test_sys_wrapper.py komplett
(5 bisher ungeprüfte, davon 1 geschärft, und 5 neue für file_exists und getattr_safe;
get_plugin_root war bereits am 17.09.2026 geprüft). Ein neuer Test hält den Ist-Zustand
fest, dass file_exists auch Verzeichnisse als vorhanden meldet; dazu Issue-Entwurf
„file_exists: Verzeichnis gilt als vorhandene Datei" vorbereitet.
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
9 Testfälle nach Freigabe als geprüft markiert: test_settings_tab.py komplett
(8 bestehende, davon 1 geschärft und 1 mit präzisiertem Docstring, und 1 neuer für den
Platzhalter im Landkreis-Dropdown). Nebenbefund (Landkreis wird über den Namen statt über
die Kennzahl geladen) nur im Commit von Plugin_SN_Basis vermerkt, ohne Issue.
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
13 Testfälle nach Freigabe als geprüft markiert: test_qgisui_wrapper_helpers.py komplett
(12 bestehende, davon 1 geschärft, und 1 neuer für remove_menu ohne menuAction).
Nebenbefund (Datenschreiber wertet den Rückgabewert von add_layer_to_project nicht aus,
Docstring der Funktion widersprüchlich) als Issue-Entwurf vorbereitet.
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
17 Testfälle nach Freigabe als geprüft markiert: test_qgiscore_wrapper_helpers.py komplett
(14 bestehende, davon 2 geschärft, und 3 neue für den Rückfall aus boundary() und den
Pufferlayer ohne Features). Nebenbefunde (veralteter Docstring von polygon_zu_linie,
Puffer in Layer-Einheiten statt Metern, offene SQLite-Verbindung in layer_exists_in_gpkg)
als Issue-Entwürfe vorbereitet.
Testkatalog neu erzeugt. Er enthält jetzt auch die mit #56 nach unstable gemergten Tests
von sn_verfahrensgebiet (208 -> 289 Testfälle).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Befund aus dem QGIS-Test (Fenster immer auf dem Hauptbildschirm, im
Vollbild nicht zu verlassen) in fallstricke.md festgehalten; Testkonzept,
Modulkarte und Testkatalog an das Fenster mit Rahmen und die
Pfadanzeige der Korrektur-Datei angepasst.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Testkonzept docs/tests/verfahrensgebiet-eigentuemer-anzeige.md,
Fallstricke (Korrektur-CSV mit Personendaten, Fenster auf bestimmtem
Bildschirm öffnen), Modulkarte und Testkatalog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Testkonzept docs/tests/verfahrensgebiet-eigentuemersuche.md, Fallstricke
zu personenbezogenen Eigentümerdaten und zur Zahlerkennung beim CSV-Laden
(PLZ ohne führende Null), Modulkarte und Testkatalog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Testkonzept docs/tests/verfahrensgebiet-flurstueckssuche.md, Aufbau des
Flurstückskennzeichens und fehlende Eigentümerangaben im öffentlichen
ALKIS-WFS in alkis_objektarten.md, Modulkarte und Testkatalog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Konzept 10 Abschnitt 5.3, Austauschformat in schnittstellen.md,
Modulkarte und Testkatalog mit den neuen Tests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Befunde zu KBS, eingebettetem QGIS-Projekt, Farbe/Grau über
Projektvariable und Projektfarben, Leistung beim Lesen aus dem Netz
und Beta-Lizenz in fallstricke.md; STATUS nachgezogen.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fallstrick zu Zoombereichen der symbol_stile im Legendenkatalog,
Testkatalog mit den drei neuen Tests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Schnittstellen Abschnitt 2a (KBS), Fallstricke, Modulkarte, Testkatalog
und STATUS (Punkt 19; #104 als gemergt vermerkt).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Schnittstellen Abschnitt 2, Fallstricke, Modulkarte, Testkatalog und
STATUS (Punkt 18; #96 und #100 als gemergt vermerkt).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Schnittstellen (Thema/Stil, Layer-Eigenschaften, neue Wrapper-Funktionen),
Fallstricke (Relief mit mehreren Quellen, Prüfwert, P10 Vektor),
Glossar (Thema, Stil), Modulkarte, Testkatalog und STATUS.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- schnittstellen.md Abschnitt 12: Mindestbreite 180 mm (= Kartenschild), Layout-Eigenschaft
sn_legende_mindestbreite, Listener in sn_basis.main
- fallstricke.md: setMinimumSize wird nicht im Projekt gespeichert
- modulkarte.md, STATUS.md, Testkatalog
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- fallstricke.md: gleiche Spaltenbreiten, Textumbruch, Legendentitel bricht nicht automatisch um
- STATUS.md Punkt 16: #93 gemergt, #96 als PR ausstehend
- Testkatalog neu erzeugt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- schnittstellen.md Abschnitt 12: Element-IDs, die print_kartenrand braucht; Seitengröße nur Mindestgröße
- fallstricke.md: minimumSize liefert vor dem ersten Zeichnen die ungefilterte Legendenhöhe
- modulkarte.md: print_kartenrand, aktualisierte Zeilenzahlen
- STATUS.md: Punkt 15 (Stand #88/#90/#92, QGIS 4 geprüft), neuer Punkt 16
- Testkatalog neu erzeugt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Konzept 10, Abschnitt 10: Punkt „Platz kaum zu sehen“ als behoben vermerkt
- STATUS.md Punkt 15: Stand nach Merge von #88/#90, #92 als PR ausstehend
- modulkarte.md: basemap_legende_layout.py (465 Zeilen)
- Testkatalog neu erzeugt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- fallstricke.md: Strichlänge 0 aus Mapbox-Styles zeichnet Qt nicht
- Konzept 10, Abschnitt 10: Punkt „Durchlass/Baumreihe ohne Symbol“ geklärt
- modulkarte.md: basemap_stilkorrektur; STATUS.md Punkt 15 nachgezogen
- Testkatalog neu erzeugt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Konzept 10_basemap_legende.md: Abschnitt 10 mit Umsetzung, Abweichungen und offenen Punkten
- ADR 0010: Basemap-Legende als eigenes Legendenelement mit Hilfslayern und Legendenkatalog
- schnittstellen.md: neue Projektvariablen, Abschnitt 11 Basemap-Legende
- modulkarte.md: neue Module, aktualisierte Zeilenzahlen
- fallstricke.md: Legendengröße vor dem ersten Zeichnen, Kartenfilter, Vektorkachel-Zoom,
QT_VERSION unter QGIS 3, Mock-Lücken, Offscreen-Spike in QGIS
- STATUS.md: Punkt 15; Testkatalog neu erzeugt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Neue Konzeptseite docs/konzept/10_basemap_legende.md mit den abgestimmten
Festlegungen, technischen Grundlagen (selectByGeometry, Style-JSON bm_web_col),
Bausteinen, Tests, Umsetzungsschritten und Abnahmekriterien; in docs/README.md
verlinkt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 Testfälle nach Freigabe als geprüft markiert: test_pruefmanager.py komplett
(12 bestehende, 2 neue für Meldung/Kontext und Standardtext beim Verfahrensgebiet-Dialog).
Nebenbefunde (wirkungslose warn_actions, layer_create_failed ohne PruefAktion,
uneinheitlicher Import von ask_text) als Issue-Entwurf vorbereitet.
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6 Testfälle nach Freigabe als geprüft markiert: test_pruef_ergebnis.py komplett
(Docstring-Anzahl korrigiert). Nebenbefund: die geprüften Properties
ist_verfahrens_db_aktion, erlaubte_persistierung und dateipfad werden derzeit nirgends
verwendet; PruefAktion schreibt "Datenbank" groß, Dateipruefer liefert "datenbank".
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8 Testfälle nach Freigabe als geprüft markiert: test_print_layout.py komplett
(5 bestehende, 3 neue für create_single_page_layout). Nebenbefunde (direkter
qgis.PyQt-Import per importlib, removeGrid-Mock nach Name statt UUID, ungenutztes
width_limit_mm) bewusst ohne Issue: das Druckmodul wird ohnehin grundlegend überarbeitet.
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 Testfälle nach Freigabe als geprüft markiert: test_os_wrapper.py komplett
(IsCaseSensitiveFsTests, alle drei Zweige abgedeckt, keine neuen Tests nötig).
Nebenbefund: Das Ziel „OS-Prüfung nur einmal, Plugin-Code ohne OS-Weichen“ ist nur
teilweise erfüllt (hasattr(os, "startfile") in Plan41, Wurzelpfad-Prüfung von Hand in
Dateipruefer/stilpruefer, ungenutzte Wrapper-Symbole). Dafür ist ein eigenes Issue
in Plugin_SN_Basis als Entwurf vorbereitet.
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Die Markierung per test_audit.py markieren bestätigt eine fachliche Abnahme durch einen
Menschen. Agenten sichten und ergänzen Tests und schlagen Markierungen vor, markieren aber
erst nach ausdrücklicher Freigabe. Aufgenommen in AGENTS.md (harte Regeln, Tests),
docs/leitfaden/06_tests.md Abschnitt 7 und Skill sn-tests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
15 Testfälle fachlich geprüft und markiert: test_navigation.py komplett (12 bestehende,
3 neue für Standardpriorität, Reihenfolge bei gleicher Priorität und fehlende Toolbar).
Nebenbefund: remove_action entfernt die Action aus Menü, Toolbar und Liste, aber nicht aus
plugin_group und ruft kein deleteLater() auf – mögliches Überbleibsel beim Plugin-Reload,
analog zu #72. Nicht behoben (kein Umbau nebenbei).
Testkatalog neu erzeugt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>