Commit Graph
17 Commits
Author SHA1 Message Date
DanielandClaude Sonnet 5 b47f740c10 STATUS.md: Merge von Basis #63 und Verfahrensgebiet #53 nachgetragen
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 10:10:54 +02:00
DanielandClaude Sonnet 5 1359ba2761 Testkatalog neu erzeugt, Wissensbasis für Basis #63 nachgezogen
sn_basis: 96 -> 166 Testfälle (Datenabruf, Datenschreiber, LayerLoader,
excel_importer bekamen Tests). fallstricke.md: unvollständiger
_MockQgsProject (transformContext/addMapLayer fehlten). modulkarte.md und
STATUS.md an aktuellen Stand angepasst.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:50:45 +02:00
DanielandClaude Sonnet 5 4d036516a1 Testkatalog: neuer Test für get_plugin_root()-Fix (Verfahrensgebiet #50)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 16:12:17 +02:00
DanielandClaude Sonnet 5 4f87684224 Test-Audit: TestStilpruefer (sn_basis) fachlich geprüft
Alle 4 Tests gegen modules/stilpruefer.py geprüft - Docstrings passen
zur Implementierung, keine Diskrepanzen. Dabei entdeckt: der relative
Pfad-Zweig (sn_plan41/assets-Redirect) ist untestet und hängt von
get_plugin_root() ab, das laut #50 in Plugin_SN_Verfahrensgebiet einen
Junction-Auflösungsfehler hat. Test für diesen Zweig zurückgestellt,
bis der #50-Fix vorliegt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 15:51:40 +02:00
DanielandClaude Sonnet 5 a2467d3431 Test-Audit: TestSettingsLogic (sn_basis) fachlich geprüft
Alle 4 Tests gegen functions/settings_logic.py geprüft. Eine Docstring
war ungenau (Fallback-Verantwortung fälschlich load() zugeschrieben,
siehe vorheriger Commit) - jetzt korrigiert, alle vier bestätigt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 15:04:42 +02:00
DanielandClaude Sonnet 5 fe55d5b914 Test-Audit: TestPruefmanager (sn_basis) fachlich geprüft
Alle 14 Tests gegen modules/Pruefmanager.py geprüft - Docstrings passen
zur Implementierung. Dabei entdeckt: _ask_use_or_replace_pufferlayer()
und _handle_verfahrensgebiet_layer_existiert() haben weder Tests noch
Aufrufer im gesamten Workspace; erstere referenziert ein nicht
existierendes self.pruefmanager (Absturz bei Aufruf) - dafür eigenes
Issue angelegt (Entwurf in entwuerfe/), analog zu #59.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:56:52 +02:00
DanielandClaude Sonnet 5 0f8f80a71d Test-Audit: TestLinkpruefer (sn_basis) fachlich geprüft
Alle 6 Tests (5 bestehende + neuer Testfall für leere Eingabe) gegen
modules/linkpruefer.py geprüft - Docstrings passen zur Implementierung,
keine Diskrepanzen gefunden.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:46:22 +02:00
DanielandClaude Sonnet 5 18bb17ac57 Test-Audit: TestLayerpruefer (sn_basis) fachlich geprüft
Alle 10 Tests gegen modules/layerpruefer.py geprüft - Docstrings passen
zur Implementierung, keine Diskrepanzen gefunden. Monkeypatch-Isolation
in setUp() (kein tearDown) bewusst unangetastet gelassen, da aktuell
keine andere Testdatei Layerpruefer verwendet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:42:34 +02:00
DanielandClaude Sonnet 5 aa63f234e7 Test-Audit: TestGetLaenderkennung (sn_basis) fachlich geprüft
Alle 5 Tests gegen functions/laenderkennung.py geprüft - Docstrings
passen zur Implementierung, keine Diskrepanzen gefunden.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:38:42 +02:00
DanielandClaude Sonnet 5 3a07785a66 Test-Audit: TestDateipruefer (5 von 6) fachlich geprüft
leereingabe_erlaubt, leereingabe_nicht_erlaubt, temporaer_erlaubt,
datei_nicht_gefunden, datei_ok geprüft und bestätigt - Docstrings passen
zur Implementierung. test_standarddatei_vorschlagen bewusst ausgenommen,
solange die Design-Entscheidung zu Basis #59 (Standarddatei-Modus) offen
ist.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:35:44 +02:00
DanielandClaude Sonnet 5 78105fcd64 STATUS.md: offenen Punkt zur Standarddatei-Existenzprüfung ergänzt (Basis #59)
Fund aus dem Test-Audit (#16): Dateipruefer/Pruefmanager prüfen bei
standarddatei_vorschlagen nie file_exists(). Bearbeitung bewusst
zurückgestellt, bis geklärt ist, ob der Standarddatei-Modus überhaupt
gebraucht wird - separates Issue Basis #59, eigener Branch bei Bedarf.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:27:23 +02:00
DanielandClaude Sonnet 5 accf1bf7e8 Test-Audit: TestDataGrabber (sn_basis) fachlich geprüft
Erster echter Audit-Durchgang mit scripts/test_audit.py: alle sechs
TestDataGrabber-Testfälle durchgesehen, mit Docstring versehen
(Plugin_SN_Basis, separater Branch/PR) und als geprüft markiert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 13:18:13 +02:00
DanielandClaude Sonnet 5 5dfec4f934 STATUS.md: Test-Audit-Infrastruktur als offene Baustelle ergänzt
Ticket #16 ist mit dieser PR technisch umgesetzt (Skript + Datenformat +
Prüfstand); der eigentliche Audit-Durchgang durch die 346 Testfälle ist
ein separater nächster Schritt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 10:25:09 +02:00
DanielandClaude Sonnet 5 f7aa8ca899 HTML-Dashboard 'Pruefstand' fuer den Testkatalog ergaenzt
scripts/testkatalog.py schreibt jetzt zusaetzlich zu testkatalog.md ein
eigenstaendiges, lokal oeffenbares HTML-Dashboard (docs/tests/testkatalog.html):
je Testdatei ein Mermaid-Baumdiagramm Datei -> Testgruppe -> Testfall,
Statusfarbe aus der Baseline, plus Filter (rot/uebersprungen/schwach
beschrieben) und Volltextsuche. Generiert direkt aus denselben
Paketkatalog-Dataclasses wie der Markdown-Katalog, kein zweiter Parse-Schritt.

--pruefen prueft jetzt beide Dateien; --ohne-html erzeugt/prueft nur die
Markdown-Datei; --html-ausgabe setzt ein anderes Ziel. Mermaid laedt von
cdnjs.cloudflare.com (Fallstrick dokumentiert: ohne Internetverbindung bleiben
nur die Diagramme leer).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 11:36:01 +02:00
DanielandClaude Sonnet 5 ce795cdc6f Referenzwissen ALKIS/WFS und ALKIS-7-Umstellungscheckliste ergaenzt
Neu in docs/wissen: wfs_dienste.md (ALKIS-WFS-Endpunkte der saechsischen
Dienste, erprobte Anfragen je Objektart, die vom WAF blockierten
Normfaelle) und alkis_objektarten.md (die von sn_verfahrensgebiet
genutzten AAA-Objektarten mit Attributen, Filterkonventionen und den
FlurbG-Werten von artderfestlegung).

Neu in docs/konzept: 09_alkis7_umstellung.md - Vergleich ALKIS 6 (GID 6.0)
gegen ALKIS 7 (GID 7.1) und die konkrete Anpassungsliste fuer
sn_verfahrensgebiet (fest verdrahteter NAS-Namespace, abgeflachte
WFS-Feldnamen, Codelisten, Tests). Als offene Baustelle 14 in STATUS.md
verlinkt.

Quellmaterial (OK-AAA 7.1.2, ALKIS-FSK 2.1.0, EA-Modellexporte, ~180 MB)
liegt lokal unter referenz/ und wird per .gitignore nicht versioniert;
Herkunft ist in alkis_objektarten.md dokumentiert.

Querverweise aus externe_dienste.md, fallstricke.md, docs/README.md
ergaenzt; Glossar um NAS, ZUSO/REO, OK-AAA erweitert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NqvdHqySjQMVowB3G3Vf3U
2026-09-04 15:05:07 +02:00
AndreasTharang 6dde74c422 Benutzernamen aus den .vscode-Befunden entfernt
Das Repository wird oeffentlich. Der technische Befund (fest verdrahtete
Pfade in .vscode/) steht auch ohne den Windows-Benutzernamen einer
konkreten Person.
2026-09-04 12:01:01 +02:00
AndreasTharangandClaude Sonnet 5 ab416fb34c Projektwissen: Git-Vorgaben, Ticketzugriff, Tests und Einstieg
Erster Stand des Repositories AG_QGIS/Projektwissen (bisher Arbeitstitel
"Workspace", ADR 0006). Der lokale Ordner heisst weiter AG_QGIS, weil darin
auch die Plugin-Klone liegen.

Git verbindlich (ADR 0007), aus dem bisherigen Wiki-Konzept entwickelt:
- docs/leitfaden/05_git_arbeitsweise.md mit Kanal-Kette, Branch-Namen und
  Gitea-Branch-Schutz.
- Der Einstiegspunkt eines Fixes richtet sich nach dem Kanal, in dem der
  Fehler sitzt; ein Fix an testing oder stable ist erst mit der
  Rueckfuehrung nach unten abgeschlossen. Das fehlte bisher.
- Der stabile Kanal heisst stable, nicht main: der Release-Workflow in
  Repository:hidden/workflows fuehrt git checkout "$CHANNEL" aus, der
  Branchname muss also dem Kanalnamen entsprechen. Er existiert in keinem
  Plugin-Repo und ist vom Maintainer anzulegen.
- Der Mensch drueckt ab: .claude/settings.json sperrt push, merge, tag.
- scripts/hallo.py und /hallo holen den Stand aller Klone, per
  Fast-Forward wo gefahrlos; nie mergen, stashen oder verwerfen.

Ticketzugriff:
- scripts/gitea.py liest Issues, Kommentare und PRs ueber die oeffentliche
  API, ohne Token, nur GET. Schreibendes nur als Entwurf in entwuerfe/.
- Skill sn-ticket.

Tests (ADR 0009):
- docs/leitfaden/06_tests.md: Testebenen, Testpflicht, und wie eine
  Fachperson beurteilt, ob Tests fachlich sinnvoll sind.
- scripts/testkatalog.py erzeugt docs/tests/testkatalog.md per ast-Parsing,
  ohne Import und ohne QGIS. Befund: nur 100 von 332 Tests haben einen
  Docstring, sn_basis keinen einzigen von 87.
- Vorlage und erste Testkonzept-Seite mit Mermaid. Dabei gefunden und gegen
  origin geprueft: _ermittle_gebietstyp_aus_fbschl hat keinen Test, obwohl
  PR #44/#45 genau diese Funktion tolerant gemacht hat.
- docs/konzept/07_qgis_tests_plan.md: Stufenplan fuer Tests gegen echtes
  QGIS. Dabei aufgefallen: QGIS 3.40 ist seit Januar 2026 End of Life,
  qgis_min steht aber noch darauf.

Werkzeuge (ADR 0008):
- 04_werkzeuge_einrichten.md nur noch Claude Code als CLI und in VS Code.
- .vscode/ entfernt, brauchbare Einstellungen als persoenliche Vorlage.

Ausserdem: README als Einstieg neu aufgebaut, Mermaid-Diagramm in
schnittstellen.md repariert (unmaskierte Klammern, rendert seither nicht).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-04 11:57:26 +02:00