Regeln für PR- und Issue-Texte an AG_QGIS angleichen (#3)

Beim Übernehmen aus AG_QGIS/Projektwissen (main @ a0bb40a) waren Regeln
verloren gegangen oder eingeengt worden:

- PR-Vorlage: Abschnitt „Änderungen an Syntax und Ablageformat“ (dort
  „Änderungen an Verträgen“), Checklistenpunkt „keine Debug-print“.
- Issue-Vorlage: Frage nach Syntax/Ablageformat, Testpflicht nicht nur
  für den Konverter.
- AGENTS.md: Testpflicht wieder für jede neue Funktionalität; Syntax und
  Ablageformat als Verträge; kein Arbeitsbranch ohne Issue; PR-Text
  vollständig mit Checkliste. Skill sn-aufgabe-bearbeiten und Checkliste
  in Leitfaden 03 entsprechend.
- ADR 0001 und STATUS: Quell-Commit war a0bb40a, nicht decd2a0.

gitea.py prüft vor jeder Abfrage, ob die Repos ohne Anmeldung lesbar
sind, und bricht sonst mit klarer Meldung ab – bisher meldete die
Sammelsuche bei einem privaten Repo „Keine passenden Tickets“. Die
Ausgabe läuft jetzt über UTF-8 (cp1252-Konsolen stürzten bei „→“ ab).

Tests: python -m pytest -q -> 61 bestanden (6 neu in tests/test_gitea.py).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-23 13:50:24 +02:00
co-authored by Claude Opus 5.5
parent 87cb9b76ac
commit fd58d75502
10 changed files with 165 additions and 14 deletions
@@ -9,7 +9,9 @@ sind Regeln, Skripte, Skills und eine Wissensbasis für die KI-gestützte Zusamm
## Entscheidung
`AG_Prozesse/Projektwissen` wird **neu angelegt** und übernimmt ausgewählte Dateien aus
`AG_QGIS/Projektwissen` (Stand `main` @ `decd2a0`, `sn-bpmn` von `BPMN-Skill` @ `6efcac4`) – **ohne Git-Historie**.
`AG_QGIS/Projektwissen` (Stand `main` @ `a0bb40a`, `sn-bpmn` von `BPMN-Skill` @ `6efcac4`) – **ohne Git-Historie**.
*(Korrigiert am 2026-09-23: Hier stand zunächst `decd2a0`; das ist ein Commit auf dem Branch
`feature/16-test-audit`, kopiert wurde aber von `main`.)*
QGIS- und Plugin-Spezifisches (Testrunner, Testkatalog, QGIS-Profil, ALKIS/WFS-Wissen, Modulkarte, Release)
wird nicht übernommen.
+6 -2
View File
@@ -122,11 +122,15 @@ kleine PRs machen.
**Vor dem PR**
- [ ] Issue verlinkt, Branch von `main`
- [ ] Issue verlinkt, Branch von `main` mit Issue-Nummer im Namen
- [ ] `python -m pytest -q` grün, `python scripts/pruefe_umlaute.py` ohne Funde
- [ ] Neue Funktionalität hat mindestens einen Test je neuem Verhalten
- [ ] Jeder neue oder geänderte Test hat einen deutschen Docstring `"""Prüft, dass …"""`
- [ ] Keine Debug-`print`, kein auskommentierter Code
- [ ] Änderungen an Markdown-Syntax oder Ablageformat im PR benannt (oder „keine“)
- [ ] Bei geänderter BPMN-Ausgabe: PICTURE-Import dokumentiert, `.bpmn` unter `prozesse/` neu erzeugt
- [ ] Keine personenbezogenen Daten, keine Originalunterlagen
- [ ] Übergabenotiz im PR; Wissensbasis nachgezogen, falls nötig
- [ ] PR-Text vollständig nach Vorlage, mit Checkliste und Übergabenotiz; Wissensbasis nachgezogen, falls nötig
- [ ] Diff gelesen: nur, was das Issue verlangt
**Review**
+9 -2
View File
@@ -17,7 +17,9 @@ Skills sind übernommen, alles QGIS- und Plugin-Spezifische ist entfernt. Kern i
## Offene Baustellen (priorisiert)
1. **Ersten Stand auf Gitea bringen** (`main`) und Branch-Schutz für `main` setzen (nur per Pull Request).
1. **Repo `Projektwissen` in Gitea öffentlich schalten** (Repo → Einstellungen → Sichtbarkeit). Die Organisation ist
öffentlich, das Repo nicht; ohne das liest `scripts/gitea.py` keine Tickets, und die Skills `sn-ticket` und
`sn-aufgabe-bearbeiten` laufen ins Leere.
2. **ADR 0003 (Ablage in `prozesse/`) vom Team annehmen lassen**, dann den ersten echten Prozess ablegen.
3. **Glossar um BPMN-/PICTURE-Begriffe ergänzen** und die Flurbereinigungsbegriffe auf das prüfen, was für
Prozesse gebraucht wird.
@@ -28,6 +30,11 @@ Skills sind übernommen, alles QGIS- und Plugin-Spezifische ist entfernt. Kern i
## Erledigt
- 23.09.2026 **Regeln für PR- und Issue-Texte an AG_QGIS angeglichen:** Vertragsabschnitt in der PR-Vorlage
(„Änderungen an Syntax und Ablageformat“), Vertragsfrage in der Issue-Vorlage, Testpflicht wieder für jede neue
Funktionalität, vollständige Checklisten, kein Arbeitsbranch ohne Issue. `gitea.py` meldet ein nicht öffentliches
Repo jetzt als Fehler statt „keine Tickets“ und stürzt bei Zeichen außerhalb von cp1252 nicht mehr ab.
- 23.09.2026 **BPMN-Vorschau** im Browser, offline: `scripts/vorschau.py` und `werkzeuge/vorschau/vorschau.html`
auf Basis von bpmn-js 18.29.1 (lokal eingebettet, MIT mit Wasserzeichen-Auflage). Anzeige direkt in Gitea wäre
Sache der Server-Administration (externer Renderer), Issue-Entwurf liegt vor.
@@ -37,6 +44,6 @@ Skills sind übernommen, alles QGIS- und Plugin-Spezifische ist entfernt. Kern i
Die in `Anleitung.md` genannten, aber nie committeten Beispiele liegen jetzt unter
`.agents/skills/sn-bpmn/beispiele/`.
- 23.09.2026 **Repository aus AG_QGIS/Projektwissen abgeleitet** (Stand `decd2a0` bzw. `BPMN-Skill` @ `6efcac4`),
- 23.09.2026 **Repository aus AG_QGIS/Projektwissen abgeleitet** (Stand `main` @ `a0bb40a` bzw. `BPMN-Skill` @ `6efcac4`),
ohne Historie. Skripte auf die Organisation `AG_Prozesse` umgestellt, Hauptbranch `main`, Test über `pytest`
(32 Tests grün), `pruefe_umlaute.py` prüft jetzt den Workspace selbst.
+2 -1
View File
@@ -4,6 +4,7 @@
## Betroffen
Bereich: Prozessmodell (`prozesse/<name>/`) | Konverter `md_to_bpmn.py` | Skill | Skripte | Doku
Dateien (falls bekannt):
Ändert Markdown-Syntax oder Ablageformat unter `prozesse/`? nein | ja: <welche>
## Fachlicher Hintergrund
<Begriffe, Regeln, Beispiel (keine echten Verfahrensdaten, keine Namen). Verweise auf Glossar.>
@@ -11,7 +12,7 @@ Dateien (falls bekannt):
## Abnahmekriterien
- [ ] <beobachtbares Verhalten 1>
- [ ] <beobachtbares Verhalten 2>
- [ ] Bei Änderungen am Konverter: Test vorhanden, `python -m pytest -q` grün
- [ ] Test je neuem Verhalten vorhanden (Konverter, Skripte), `python -m pytest -q` grün
- [ ] PICTURE-Import: <nötig / nicht nötig>
## Nicht Teil dieses Issues
+5
View File
@@ -7,11 +7,16 @@
- Bei Modellen unter `prozesse/`: `.bpmn` mit `python scripts/pruefe_prozesse.py --erzeugen` erzeugt
- PICTURE-Import: <PICTURE-Version, Datei, Ergebnis> | nicht nötig, weil …
## Änderungen an Syntax und Ablageformat
keine | <welche, mit Verweis auf Issue: Markdown-Syntax (`Anleitung.md`), Ablage unter `prozesse/`
(`prozesse/README.md`, ADR 0003); welche Modelle unter `prozesse/` angepasst oder neu erzeugt wurden>
## Übergabenotiz
<nach docs/vorlagen/uebergabe.md>
## Checkliste
- [ ] Nur Änderungen zum Issue
- [ ] Keine Debug-`print`, kein auskommentierter Code
- [ ] Keine personenbezogenen Daten, keine internen Originalunterlagen
- [ ] Doku des Skills nachgezogen (Anleitung, Elementkatalog, Modellierregeln) oder nicht betroffen
- [ ] Wissensbasis nachgezogen (oder „nichts Neues“)
+7
View File
@@ -50,6 +50,13 @@ Kurz, konkret, mit Datum und Quelle. Neue Einträge oben in der passenden Rubrik
## Umgebung und Werkzeuge
- **Öffentliche Organisation heißt nicht öffentliches Repo.** In Gitea haben Organisation und Repo getrennte
Sichtbarkeit. `AG_Prozesse` war öffentlich, `Projektwissen` privat: Die Weboberfläche zeigte es angemeldeten
Personen normal, die API ohne Anmeldung lieferte 404. `scripts/gitea.py` liest bewusst ohne Token und braucht deshalb
ein öffentliches Repo; es prüft das jetzt vor jeder Abfrage. Prüfen ohne Anmeldung:
`curl -s -o /dev/null -w "%{http_code}" https://entwicklung.flurneuordnung-sachsen.de/api/v1/repos/AG_Prozesse/Projektwissen`
muss `200` liefern. (23.09.2026)
- **Gitea ordnet Commits über die E-Mail-Adresse zu.** Stimmt `user.email` nicht mit einer im Gitea-Konto
hinterlegten Adresse überein, erscheinen die Commits ohne Zuordnung zum Benutzer. Es gilt die dienstliche
Adresse, die im Gitea-Konto hinterlegt ist. Wer den Rechner auch privat nutzt, setzt sie je Repository mit