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:
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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`.
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user