# 0003 – Prozessmodelle liegen versioniert in `prozesse//`, die `.md` ist maßgeblich Status: vorgeschlagen · Datum: 2026-09-23 · Beteiligte: AG Prozesse ## Kontext Der Skill `sn-bpmn` legt Entwürfe in `entwuerfe/` ab; der Ordner ist nicht versioniert. Fertige Modelle hatten damit keinen gemeinsamen Ort: Wer ein Modell ändern wollte, musste die letzte Fassung bei der Kollegin erfragen, und niemand konnte nachvollziehen, welcher Stand abgenommen war. PICTURE ist Zielsystem des Imports, aber kein Ort für Review und Versionsgeschichte. ## Entscheidung Jedes Prozessmodell liegt in einem eigenen Ordner `prozesse//` mit genau drei Dateien: Steckbrief `README.md`, Arbeitsschritt-Beschreibung `.md` und die daraus erzeugte `.bpmn`. - Die **`.md` ist die maßgebliche Quelle**. Die `.bpmn` wird mit `python scripts/pruefe_prozesse.py --erzeugen` erzeugt und mitcommittet, damit sie ohne Python aus Gitea heruntergeladen und in PICTURE importiert werden kann. - Ein **Test prüft**, dass jede `.bpmn` byte-gleich mit der Umwandlung ihrer `.md` ist. Das geht, weil `md_to_bpmn.py` deterministisch arbeitet (keine Zufalls-IDs, keine Zeitstempel). - Der **Steckbrief** trägt den Status `Entwurf` oder `abgenommen`. Entwürfe dürfen auf `main`, damit mehrere Personen daran arbeiten können; die Abnahme ist ein eigener Pull Request, der nur den Status ändert. - Im Ordner liegen **keine weiteren Dateien**, insbesondere keine Originalunterlagen. ## Folgen Modelle sind reviewbar (Diff der `.md` statt XML), versioniert und mit Status versehen. Eine Änderung am Konverter, die die Ausgabe verändert, macht alle abgelegten `.bpmn` rot, bis sie neu erzeugt sind — gewollt: Der Pull Request zeigt dann, welche Modelle sich im Bild ändern, und sie werden gemeinsam neu erzeugt. Nacharbeiten, die nur in PICTURE gemacht werden (Layout, Zusatzfelder), gehen bei der nächsten Erzeugung verloren und gehören deshalb in die `.md` oder in den Steckbrief. ## Verworfene Alternativen Nur die `.md` versionieren (Fachleute ohne Python kämen nicht an die `.bpmn`); nur die `.bpmn` versionieren (XML ist nicht reviewbar, die Quelle ginge verloren); Status in Kopfzeilen der `.md` (der Parser würde Zeilen wie „Verantwortliche Stelle: …“ als Schritt deuten); Ablage nur in PICTURE (keine Versionsgeschichte, kein Review).