Prozessbibliothek als eigenes Repository auslagern (#9)

- ADR 0004 ersetzt ADR 0003: Die Prozessmodelle liegen im Repository
  AG_Prozesse/Prozessbibliothek, geklont nach Prozessbibliothek/ (neuer
  Eintrag in workspace.toml, .gitignore). prozesse/ ist entfernt; das
  Ablageformat (Ordner je Prozess, drei Dateien, Status) bleibt.
- pruefe_prozesse.py prüft den Klon (Ort über setup_workspace.repos_root),
  lässt Punkt-Ordner wie .git aus und erlaubt in der Wurzel nur die
  Repo-Dateien. Fehlt der Klon, gibt es einen Hinweis statt eines Befunds;
  pytest warnt dann.
- einlesen.py sucht den Bestand in der Bibliothek und nennt Treffer als
  Prozessbibliothek/<name>/, auch wenn der Klon woanders liegt.
- Regeln aus prozesse/README.md nach docs/leitfaden/08_prozessbibliothek.md,
  inklusive Ablauf bei Konverteränderungen (zwei Pull Requests).
- Verweise in AGENTS.md, README, Skills, Leitfäden, Vorlagen, Fallstricken
  und STATUS nachgezogen.
- Tests: python -m pytest -q -> 88 bestanden, 1 xfail (#8), 1 Warnung
  (Bibliothek noch nicht geklont).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 09:40:52 +02:00
co-authored by Claude Opus 5.5
parent 23a39fd929
commit 31131cc5c3
26 changed files with 312 additions and 131 deletions
@@ -46,8 +46,9 @@ git switch -c feature/<issue-nr>-<kurzname> # oder bugfix/… ; klein, ASCII,
schreiben, der den Fehler zeigt.
- **Jeder neue oder geänderte Test bekommt einen deutschen Docstring**, erste Zeile `"""Prüft, dass …"""`.
- Ändert sich die Markdown-Syntax oder ein Element: `Anleitung.md` bzw. `Elementkatalog.md` mitziehen. Syntax und
Ablageformat sind Verträge (`AGENTS.md`): vorher alle Modelle unter `prozesse/` prüfen, danach
`python scripts/pruefe_prozesse.py --erzeugen`.
Ablageformat sind Verträge (`AGENTS.md`): vorher alle Modelle der Prozessbibliothek prüfen, danach
`python scripts/pruefe_prozesse.py --erzeugen` und die neu erzeugten `.bpmn` als eigenen Pull Request in der
Bibliothek vorbereiten (`docs/leitfaden/08_prozessbibliothek.md`, „Wenn sich der Konverter ändert“).
## 5. Nachweis
- `python -m pytest -q` → alles grün.
+3 -3
View File
@@ -34,9 +34,9 @@ Beispiel (aus dem Workspace-Root):
python .agents/skills/sn-bpmn/md_to_bpmn.py entwuerfe/antrag-pruefen.md entwuerfe/antrag-pruefen.bpmn
```
Versionierte Modelle unter `prozesse/` werden nicht einzeln, sondern gesammelt
erzeugt: `python scripts/pruefe_prozesse.py --erzeugen` (siehe
`prozesse/README.md`).
Versionierte Modelle in der Prozessbibliothek werden nicht einzeln, sondern
gesammelt erzeugt: `python scripts/pruefe_prozesse.py --erzeugen` (siehe
`docs/leitfaden/08_prozessbibliothek.md`).
Die erzeugte `.bpmn`-Datei kann anschließend über den BPMN-Import-Dialog
in PICTURE geladen werden.
+9 -6
View File
@@ -21,9 +21,10 @@ schreibst oder bearbeitest.
1. **Quelle ermitteln.** Frage nach der Rohtext-, Word- oder PDF-Quelle,
falls keine angegeben oder angehängt wurde. Liegen Beschreibungen im
Eingangsordner `input/`, übernimmt der Skill `sn-einlesen` die Steuerung
und ruft diesen Skill je Datei auf. Gibt es den Prozess schon
unter `prozesse/<name>/`, ist dessen `<name>.md` der Ausgangspunkt:
dann auf einem Arbeitsbranch direkt dort ändern statt in `entwuerfe/`,
und ruft diesen Skill je Datei auf. Gibt es den Prozess schon in der
Prozessbibliothek (`Prozessbibliothek/<name>/`), ist dessen `<name>.md`
der Ausgangspunkt: dann auf einem Arbeitsbranch im Klon der Bibliothek
direkt dort ändern statt in `entwuerfe/`,
und nach Schritt 3 mit Schritt 5 weitermachen.
2. **Entwurf erzeugen.** Lies die Quelle und leite daraus eine
@@ -53,9 +54,11 @@ schreibst oder bearbeitest.
(geht auch direkt mit der `.md`, schon vor der Freigabe in Schritt 3).
Beim Anbieten der Vorschau dazusagen, dass PICTURE abweichen kann.
5. **Ablegen (nur auf Wunsch).** Ablauf und Regeln: `prozesse/README.md`
(ADR 0003). Kurz: Branch `feature/<issue-nr>-<name>` von `main`, Ordner
`prozesse/<name>/` mit `<name>.md` und Steckbrief `README.md` aus
5. **Ablegen (nur auf Wunsch).** Ablauf und Regeln:
`docs/leitfaden/08_prozessbibliothek.md` (ADR 0004). Kurz: Issue in der
Bibliothek, im Klon `Prozessbibliothek/` Branch
`feature/<issue-nr>-<name>` von `main`, Ordner `<name>/` mit
`<name>.md` und Steckbrief `README.md` aus
`docs/vorlagen/prozess_readme.md` (Status `Entwurf`, Annahmen aus
Schritt 2 unter „Annahmen und offene Punkte“), dann
`python scripts/pruefe_prozesse.py --erzeugen` und `python -m pytest -q`.
+10 -8
View File
@@ -14,7 +14,7 @@ und kann interne Inhalte enthalten. Ablauf für Menschen: `docs/leitfaden/07_pro
- **Eine Datei nach der anderen**, jede bis zu einer Entscheidung des Nutzers. Nicht mehrere Prozesse parallel
entwerfen.
- Inhalte aus `input/` landen nur bereinigt (ohne Namen, Aktenzeichen, Verfahrensdaten) in `entwuerfe/` oder
`prozesse/`.
der Prozessbibliothek.
## 1. Eingang prüfen
@@ -39,7 +39,7 @@ geänderten Datei beginnen. Ist nichts zu tun: ein Satz, fertig.
1. Datei lesen. In zwei Sätzen zusammenfassen, welchen Prozess sie beschreibt (Anlass, Ergebnis, Beteiligte
als Funktionen).
2. Bestand prüfen. Das Skript liefert `kandidaten` (Name und Wortüberschneidung, Schwelle 0,25) und die Liste
`bestand` aller Prozesse unter `prozesse/` und lokalen Entwürfe in `entwuerfe/`. **Die Zahl ist nur ein
`bestand` aller Prozesse der Prozessbibliothek und lokalen Entwürfe in `entwuerfe/`. **Die Zahl ist nur ein
Hinweis:** die `.md` der Kandidaten lesen und fachlich beurteilen, ob derselbe Ablauf gemeint ist. Auch die
Titel in `bestand` durchgehen – ein anders benannter Prozess kann derselbe sein.
3. Ergebnis mitteilen: „kein vorhandener Prozess“ oder „ähnlich zu …, weil …“ mit den Unterschieden.
@@ -67,13 +67,15 @@ Den Skill `sn-bpmn` ab Schritt 2 durchlaufen, mit der Datei aus `input/` als Que
Sonst den Entwurf aus dem Rohtext ableiten, wie in `sn-bpmn` Schritt 2.
- **Auf Freigabe warten** (`sn-bpmn` Schritt 3). Vorschau anbieten: `python scripts/vorschau.py entwuerfe/<name>.md`.
- Nach Freigabe umwandeln (`sn-bpmn` Schritt 4). Das ist der **Erfolg** für einen neuen Prozess.
- Ablegen unter `prozesse/` nur auf Wunsch (`sn-bpmn` Schritt 5; braucht ein Issue und einen Pull Request).
- Ablegen in der Prozessbibliothek nur auf Wunsch (`sn-bpmn` Schritt 5; braucht ein Issue und einen Pull Request
in der Bibliothek).
## 4b. Vorhandenen Prozess aktualisieren
- **Liegt er unter `prozesse/`:** Änderungen an versionierten Modellen gehen über Issue, Branch und Pull Request
(`AGENTS.md`). Gibt es kein Issue, einen Entwurf vorbereiten (Skill `sn-ticket`) und warten. Dann auf dem
Branch `prozesse/<name>/<name>.md` um die neuen Inhalte ergänzen, Unterschiede dem Nutzer zeigen, auf
- **Liegt er in der Prozessbibliothek:** Änderungen an versionierten Modellen gehen über Issue, Branch und Pull
Request in der Bibliothek (`AGENTS.md`, `docs/leitfaden/08_prozessbibliothek.md`). Gibt es kein Issue, einen
Entwurf vorbereiten (Skill `sn-ticket`, Repo `Prozessbibliothek`) und warten. Dann auf dem Branch im Klon
`Prozessbibliothek/<name>/<name>.md` um die neuen Inhalte ergänzen, Unterschiede dem Nutzer zeigen, auf
Freigabe warten, `python scripts/pruefe_prozesse.py --erzeugen`, `python -m pytest -q`, im Steckbrief unter
„Änderungen“ eintragen. **Erfolg** = Änderung committet.
- **Ist er nur ein lokaler Entwurf in `entwuerfe/`:** den Entwurf ergänzen, Unterschiede zeigen, auf Freigabe
@@ -83,7 +85,7 @@ Den Skill `sn-bpmn` ab Schritt 2 durchlaufen, mit der Datei aus `input/` als Que
```bash
python scripts/einlesen.py vermerk input/<datei>.md --ergebnis neu --ziel entwuerfe/<name>.md
python scripts/einlesen.py vermerk input/<datei>.md --ergebnis aktualisiert --ziel prozesse/<name>/
python scripts/einlesen.py vermerk input/<datei>.md --ergebnis aktualisiert --ziel Prozessbibliothek/<name>/
```
Das Skript schreibt als erste Zeile einen HTML-Kommentar mit Zeitstempel, Ergebnis, Ziel und Inhalts-Prüfsumme;
@@ -93,5 +95,5 @@ fehlgeschlagener Umwandlung.
## 6. Zusammenfassung
Am Ende eine Tabelle: Datei | Status vorher | Entscheidung | Ergebnis (Pfad) | Vermerk ja/nein. Dazu abgelehnte
Dateien mit Grund und, falls etwas unter `prozesse/` geändert wurde, den vorbereiteten Pull-Request-Text
Dateien mit Grund und, falls etwas in der Prozessbibliothek geändert wurde, den vorbereiteten Pull-Request-Text
(vollständig nach `docs/vorlagen/pull_request.md`). Push und Pull Request macht der Mensch.