- build_bpmn(): Die BPMNShape jedes exklusiven Gateways bekommt
isMarkerVisible="true". BPMN lässt das X optional; ohne das Attribut
zeichnet bpmn-js eine leere Raute. OR-, AND- und ereignisbasierte
Gateways haben ihr Symbol immer und bleiben unverändert.
- Alle Beispiele neu erzeugt: je XOR-Gateway nur das Attribut ergänzt
(beispiel_lanes 1, beispiel_prozess 2, Referenzmodell 14), sonst
byte-gleich.
- Neuer Test test_nur_xor_gateways_zeigen_ihr_x.
- Tests: python -m pytest -q -> 93 bestanden.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- orthogonal_points(): Liegt bei Gateway -> Gateway der Stub des Starts
schon jenseits des Ziel-Anschlusspunkts (z. B. Südpunkt unten, Ziel
höher mit Nordpunkt), führt die Kante seitlich an der Ziel-Raute vorbei.
Gleiches für den waagrechten Spiegelfall (Ost -> West).
- _ausweichachse(): Die Ausweichachse liegt im freien Gang direkt vor der
Ziel-Spalte (AUSWEICHABSTAND 85), nicht in der Mitte zwischen Quelle und
Ziel – dort stand im Referenzmodell die Aufgabe S43.
- Referenzmodell neu erzeugt: fünf Kanten korrigiert (vorher liefen alle
fünf durch ein Gateway, gemeldet war nur S12->S13), dabei verschwindet
auch die Kreuzung Flow_13/S40. Syntaxbeispiele unverändert.
- xfail für referenz_gewannenfestlegung entfernt; drei neue Tests in
test_md_to_bpmn.py.
- Fallstricke: Ausweichachse; Strukturtests melden nur die erste Kreuzung.
- Tests: python -m pytest -q -> 92 bestanden.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- beispiele/referenz_gewannenfestlegung.md/.bpmn: aus dem ersten echten
Einlese-Durchgang (input/Gewannenvermessung.md), als „Test“ markiert,
fachlich nicht abgenommen. 4 Lanes, externer Pool, 14 Gateways,
verschachtelte Varianten; Byte-Vergleich über pruefe_prozesse.py.
- tests/test_referenzmodelle.py: je Referenzmodell keine Lane „Nicht
zugeordnet“, höchstens vier Kanten je Gateway, keine Kante durch eine
Raute (Geometrie aus test_md_to_bpmn.py übernommen).
- Gefunden: Kante S12→S13 läuft durch die Raute von S13 – als
xfail(strict=True) mit Verweis auf #8. AGENTS.md regelt, dass xfail nur
für so erfasste Konverterfehler an Referenzmodellen zulässig ist.
- Anleitung, Fallstricke (zwei Einträge), STATUS.
- Tests: python -m pytest -q -> 82 bestanden, 1 xfail (#8).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Jedes Modell bekommt einen eigenen Ordner mit Steckbrief (README.md,
Status Entwurf|abgenommen), der maßgeblichen Arbeitsschritt-.md und der
daraus erzeugten .bpmn (ADR 0003).
- scripts/pruefe_prozesse.py prüft Ordnername, Dateien, Status und ob
jede .bpmn byte-gleich mit der Umwandlung ihrer .md ist; --erzeugen
erzeugt alle .bpmn neu. md_to_bpmn.py arbeitet deterministisch.
- tests/test_pruefe_prozesse.py: Bestandsprüfung plus 11 Fälle für die
Prüflogik; pytest.ini sammelt .agents/skills und tests.
- Die in Anleitung.md genannten, nie committeten Beispiele liegen jetzt
unter .agents/skills/sn-bpmn/beispiele/ und werden mitgeprüft.
- Skill sn-bpmn: Entwürfe nach entwuerfe/, neuer Schritt 5 „Ablegen“.
- Vorlage docs/vorlagen/prozess_readme.md, Doku und Fallstricke ergänzt.
- Tests: python -m pytest -q -> 44 bestanden.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>