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>
This commit is contained in:
2026-09-04 11:57:26 +02:00
co-authored by Claude Sonnet 5
commit ab416fb34c
57 changed files with 7202 additions and 0 deletions
@@ -0,0 +1,28 @@
# 0006 – Das Workspace-Repository heißt „Projektwissen"
Status: vorgeschlagen · Datum: 2026-09-04 · Beteiligte: AG QGIS · Ergänzt 0002
## Kontext
Entscheidung 0002 legte ein Meta-Repository unter dem Arbeitstitel `AG_QGIS/Workspace` fest. Beim Anlegen auf
Gitea zeigte sich, dass „Workspace" beschreibt, *wie* der Ordner benutzt wird, nicht *was* er enthält. Für
Einsteiger und für die Behörden, die 2026 dazukommen, ist der Inhalt entscheidend: Regeln, Wissensbasis,
Entscheidungen, Anleitungen. Der Name steht in Klon-Befehlen, in der Gitea-Übersicht und in jeder Anleitung.
## Entscheidung
Das Repository heißt **`AG_QGIS/Projektwissen`**. Der lokale Ordner, in den geklont wird, heißt weiterhin
**`AG_QGIS/`**, weil dort neben dem Projektwissen auch alle Plugin-Klone liegen:
git clone .../AG_QGIS/Projektwissen.git AG_QGIS
Der Begriff „Workspace" bleibt für den *Ordner* zulässig (auch der Dateiname `workspace.toml` bleibt), bezeichnet
aber nie das Repository. Die README löst die Verwechslung einmal ausdrücklich auf.
## Folgen
Alle Klon-Befehle in README, Leitfäden, Skills und der CI-Vorlage zeigen auf `Projektwissen.git`. Vorhandene
lokale Klone sind nicht betroffen, weil sich der Ordnername nicht ändert. `workspace.toml` behält seinen Namen,
damit `run_tests.py`, `setup_workspace.py`, `hallo.py`, `gitea.py` und `testkatalog.py` unverändert bleiben.
## Verworfene Alternativen
`Workspace` beibehalten (beschreibt die Nutzung, nicht den Inhalt); `Wissensbasis` (zu eng — es liegen auch
Skripte und Skills darin); Ordner ebenfalls in `Projektwissen` umbenennen (bricht alle vorhandenen lokalen
Einrichtungen und jeden Pfad in der bestehenden Doku, ohne inhaltlichen Gewinn).