- 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>
66 lines
3.6 KiB
Markdown
66 lines
3.6 KiB
Markdown
# Die Prozessbibliothek: Ablage der Prozessmodelle
|
||
|
||
Regeln und Ablauf für die versionierten Prozessmodelle der AG Prozesse (ADR 0004). Die Modelle liegen im eigenen
|
||
Repository [`AG_Prozesse/Prozessbibliothek`](https://entwicklung.flurneuordnung-sachsen.de/AG_Prozesse/Prozessbibliothek),
|
||
die Regeln und die Prüfung hier in `Projektwissen`. Arbeitsentwürfe gehören nicht in die Bibliothek, sondern nach
|
||
`entwuerfe/` (nicht versioniert).
|
||
|
||
## Wo sie liegt
|
||
|
||
`python scripts/setup_workspace.py` klont die Bibliothek in den Ordner `Prozessbibliothek/` im Workspace,
|
||
oder unter `repos_root` aus `workspace.local.toml`, wenn dort ein anderer Ort eingetragen ist.
|
||
`Projektwissen` versioniert den Ordner nicht mit, denn er ist ein eigener Git-Klon.
|
||
|
||
```
|
||
Prozessbibliothek/
|
||
README.md kurz: was hier liegt, Verweis auf diesen Leitfaden
|
||
AGENTS.md, CLAUDE.md Anweisungen für KI-Agenten
|
||
antrag-pruefen/
|
||
README.md Steckbrief: Status, Stand, Zuständigkeit, offene Punkte
|
||
antrag-pruefen.md Arbeitsschritt-Beschreibung – die maßgebliche Quelle
|
||
antrag-pruefen.bpmn daraus erzeugt, nie von Hand bearbeiten
|
||
```
|
||
|
||
## Regeln
|
||
|
||
- **Ordnername:** Kleinbuchstaben, Ziffern, Bindestriche (`antrag-pruefen`). Die beiden Modelldateien heißen wie
|
||
der Ordner.
|
||
- **Genau drei Dateien je Prozess.** Keine Originalunterlagen (Word, PDF), keine Bilder. Die bleiben lokal in
|
||
`referenz/`. In der Wurzel der Bibliothek liegen außer den Prozessordnern nur `README.md`, `AGENTS.md`,
|
||
`CLAUDE.md`, `.gitattributes` und `.gitignore`.
|
||
- **Die `.md` ist maßgeblich.** Die `.bpmn` wird nach jeder Änderung neu erzeugt und mitcommittet:
|
||
`python scripts/pruefe_prozesse.py --erzeugen` (aus `Projektwissen`). Änderungen, die in PICTURE nachgetragen
|
||
werden, fließen nicht zurück. Wer etwas dauerhaft ändern will, ändert die `.md`.
|
||
- **Status im Steckbrief:** `Entwurf` (liegt zur gemeinsamen Bearbeitung hier) oder `abgenommen` (fachlich
|
||
bestätigt). Den Wechsel auf `abgenommen` macht ein eigener Pull Request, dessen Review die Abnahme ist.
|
||
- **Keine personenbezogenen Daten.** Zuständigkeiten als Funktion, keine Namen, Aktenzeichen oder Verfahrensdaten.
|
||
- **Issues zu einem Modell** werden in der Bibliothek angelegt, Issues zu Konverter, Skills und Doku in
|
||
`Projektwissen`. Branches heißen in beiden Repositories `feature/<issue-nr>-<kurzname>`.
|
||
|
||
## Prüfen
|
||
|
||
Aus dem Workspace-Root (`Projektwissen`):
|
||
|
||
```bash
|
||
python scripts/pruefe_prozesse.py # Struktur, Status, .bpmn aktuell? Prüft auch die Skill-Beispiele
|
||
python -m pytest -q # enthält dieselbe Prüfung
|
||
```
|
||
|
||
Ist die Bibliothek nicht geklont, prüfen beide nur die Skill-Beispiele und weisen darauf hin.
|
||
|
||
## Einen Prozess ablegen
|
||
|
||
1. Entwurf mit dem Skill `sn-bpmn` erstellen und fachlich prüfen.
|
||
2. Issue in der Bibliothek, dann im Klon `Prozessbibliothek/` einen Branch `feature/<issue-nr>-<prozessname>`
|
||
von `main` anlegen.
|
||
3. Ordner anlegen, Entwurf als `<name>.md` hineinkopieren, Steckbrief aus `docs/vorlagen/prozess_readme.md`.
|
||
4. In `Projektwissen`: `python scripts/pruefe_prozesse.py --erzeugen`, dann `python -m pytest -q`.
|
||
5. Im Klon committen. Pull Request in der Bibliothek: Der Agent bereitet vor, der Mensch pusht.
|
||
|
||
## Wenn sich der Konverter ändert
|
||
|
||
Ändert ein Pull Request in `Projektwissen` die BPMN-Ausgabe, meldet `pruefe_prozesse.py` die betroffenen Modelle
|
||
als veraltet. Dann in der Bibliothek einen Branch mit demselben Issue-Bezug anlegen,
|
||
`python scripts/pruefe_prozesse.py --erzeugen` ausführen, die neuen `.bpmn` dort committen und beide Pull Requests
|
||
gemeinsam mergen: erst `Projektwissen`, direkt danach die Bibliothek.
|