Die Strukturtests prüfen jetzt alle Sequenz- und Nachrichtenflüsse aller Modelle unter beispiele/ gegen alle
Elemente und melden alle Funde auf einmal. Bekannte Fehler stehen je Kreuzung als strikter xfail, nicht je
Modell. Außerdem ist AUSWEICHABSTAND per Test an die Layout-Maße gebunden. Closes#16
python scripts/pruefe_umlaute.py: GRÜN: 0 Fund/e in 12 Datei(en).
python scripts/pruefe_prozesse.py: GRÜN: 0 Befund/e, 0 Prozess(e), 3 Beispiel(e). Die Konverterausgabe ist
unverändert, alle .bpmn sind byte-gleich
Gegenprobe 1: Die neue Prüfung auf die Referenz-.bpmn von vor #8 angewandt findet alle sieben Kreuzungen auf
einmal (5 × Gateway, S40, S24). Die alte Prüfung meldete nur S12→S13
Gegenprobe 2: AUSWEICHABSTAND testweise auf 125 gesetzt. Der neue Test schlägt fehl („Spaltenabstand 170“)
Selbsttest der Prüfung: Eine absichtlich durch eine Aufgabe gelegte Kante wird gefunden, eine daneben nicht
PICTURE-Import: nicht nötig, weil sich die Ausgabe des Konverters nicht ändert
Änderungen an Syntax und Ablageformat
keine
Übergabenotiz
Aufgabe:#16: Jede Kante durchs Innere eines Elements fällt in den Tests auf, in allen Beispielen und mit allen
Funden. Stand: fertig Geändert:
tests/test_referenzmodelle.py:
neu: kreuzungen() mit Raute, Kreis und Rechteck
neu: Test test_keine_unbekannte_kante_fuehrt_durch_ein_element, je Modell unter beispiele/
neu: Test test_bekannte_kreuzung_ist_behoben, je bekanntem Paar als xfail(strict=True)
Entfernter Test:test_keine_kante_fuehrt_durchs_innere_eines_gateways. Er ist vollständig in der neuen
Prüfung enthalten: gleiche Rautengeometrie (_liegt_in_rautenflaeche), zusätzlich alle anderen Elemente, alle
Funde, alle Modelle. Der Einzeltest in test_md_to_bpmn.py bleibt
.agents/skills/sn-bpmn/test_md_to_bpmn.py: neuer Test test_ausweichabstand_liegt_in_beiden_layouts_im_freien_gang
AGENTS.md: Die xfail-Ausnahme gilt für alle Modelle unter beispiele/ (Referenzmodelle und Syntaxbeispiele),
und zwar je Fehler einzeln. Die übrigen Bedingungen sind unverändert: Konverterfehler, per Issue erfasst, nie für
eigene Fehler. Grund: Die bekannte Rücksprungkante (#12) liegt im Syntaxbeispiel beispiel_lanes, und gerade die
kleinen Beispiele machen Fehler schnell nachvollziehbar
Nachweis:pytest: 97 passed, 3 xfailed. PICTURE-Import nicht nötig, weil sich die Ausgabe nicht ändert Entscheidungen/Annahmen:
Die Regelerweiterung wurde vorab abgestimmt
Kein Hindernis sind Pools, Lanes, Gruppen und Hinweise (Kanten dürfen durch sie laufen), ebenso die Kontur und
1 Einheit Rand
Neu gefunden: Auch in beispiel_lanes läuft ein Nachrichtenfluss durch eine Aufgabe (S5). Er ist #13
zugeordnet, ein Kommentar-Entwurf für #13 liegt in entwuerfe/20260925-130123-kommentar-Projektwissen-13.md
Wissensbasis:fallstricke.md: Eintrag „melden nur die erste Kreuzung“ ersetzt durch „bekannte Fehler je
Kreuzung als xfail, nie je Modell“. AGENTS.md: Regel erweitert. STATUS.md: Erledigt Kontext für die nächste Sitzung:tests/test_referenzmodelle.py (BEKANNTE_KREUZUNGEN), md_to_bpmn.py Zweig is_back und Schleife msg_flow_records in build_bpmn()
Checkliste
Nur Änderungen zum Issue
Keine Debug-print, kein auskommentierter Code
Keine personenbezogenen Daten, keine internen Originalunterlagen
## Was
Die Strukturtests prüfen jetzt alle Sequenz- und Nachrichtenflüsse aller Modelle unter `beispiele/` gegen alle
Elemente und melden alle Funde auf einmal. Bekannte Fehler stehen je Kreuzung als strikter `xfail`, nicht je
Modell. Außerdem ist `AUSWEICHABSTAND` per Test an die Layout-Maße gebunden.
Closes #16
## Wie geprüft
- `python -m pytest -q`: `97 passed, 3 xfailed`. Die drei xfail sind #12 und zweimal #13
- `python scripts/pruefe_umlaute.py`: `GRÜN: 0 Fund/e in 12 Datei(en).`
- `python scripts/pruefe_prozesse.py`: `GRÜN: 0 Befund/e, 0 Prozess(e), 3 Beispiel(e).` Die Konverterausgabe ist
unverändert, alle `.bpmn` sind byte-gleich
- Gegenprobe 1: Die neue Prüfung auf die Referenz-`.bpmn` von vor #8 angewandt findet alle sieben Kreuzungen auf
einmal (5 × Gateway, S40, S24). Die alte Prüfung meldete nur S12→S13
- Gegenprobe 2: `AUSWEICHABSTAND` testweise auf 125 gesetzt. Der neue Test schlägt fehl („Spaltenabstand 170“)
- Selbsttest der Prüfung: Eine absichtlich durch eine Aufgabe gelegte Kante wird gefunden, eine daneben nicht
- PICTURE-Import: nicht nötig, weil sich die Ausgabe des Konverters nicht ändert
## Änderungen an Syntax und Ablageformat
keine
## Übergabenotiz
**Aufgabe:** #16: Jede Kante durchs Innere eines Elements fällt in den Tests auf, in allen Beispielen und mit allen
Funden.
**Stand:** fertig
**Geändert:**
- `tests/test_referenzmodelle.py`:
- neu: `kreuzungen()` mit Raute, Kreis und Rechteck
- neu: Test `test_keine_unbekannte_kante_fuehrt_durch_ein_element`, je Modell unter `beispiele/`
- neu: Test `test_bekannte_kreuzung_ist_behoben`, je bekanntem Paar als `xfail(strict=True)`
- neu: Selbsttest der Prüfung
- `BEKANNTE_KREUZUNGEN` ersetzt `BEKANNTE_KANTEN_DURCH_GATEWAY`
- **Entfernter Test:** `test_keine_kante_fuehrt_durchs_innere_eines_gateways`. Er ist vollständig in der neuen
Prüfung enthalten: gleiche Rautengeometrie (`_liegt_in_rautenflaeche`), zusätzlich alle anderen Elemente, alle
Funde, alle Modelle. Der Einzeltest in `test_md_to_bpmn.py` bleibt
- `.agents/skills/sn-bpmn/test_md_to_bpmn.py`: neuer Test `test_ausweichabstand_liegt_in_beiden_layouts_im_freien_gang`
- `AGENTS.md`: Die xfail-Ausnahme gilt für alle Modelle unter `beispiele/` (Referenzmodelle und Syntaxbeispiele),
und zwar je Fehler einzeln. Die übrigen Bedingungen sind unverändert: Konverterfehler, per Issue erfasst, nie für
eigene Fehler. Grund: Die bekannte Rücksprungkante (#12) liegt im Syntaxbeispiel `beispiel_lanes`, und gerade die
kleinen Beispiele machen Fehler schnell nachvollziehbar
- `Anleitung.md`, `docs/wissen/fallstricke.md`, `docs/status/STATUS.md`
**Nachweis:** `pytest`: `97 passed, 3 xfailed`. PICTURE-Import nicht nötig, weil sich die Ausgabe nicht ändert
**Entscheidungen/Annahmen:**
- Die Regelerweiterung wurde vorab abgestimmt
- Kein Hindernis sind Pools, Lanes, Gruppen und Hinweise (Kanten dürfen durch sie laufen), ebenso die Kontur und
1 Einheit Rand
- Neu gefunden: Auch in `beispiel_lanes` läuft ein Nachrichtenfluss durch eine Aufgabe (S5). Er ist #13
zugeordnet, ein Kommentar-Entwurf für #13 liegt in `entwuerfe/20260925-130123-kommentar-Projektwissen-13.md`
**Offen / nächste Schritte:**
1. Kommentar zu #13 abschicken (Mensch)
2. Weiter mit #12 (Rücksprungkanten) und #13 (Nachrichtenfluss). Deren Fixes zeigen sich jetzt als XPASS
3. #14 (Beschriftungen) nach Abgleich mit PICTURE
**Wissensbasis:** `fallstricke.md`: Eintrag „melden nur die erste Kreuzung“ ersetzt durch „bekannte Fehler je
Kreuzung als xfail, nie je Modell“. `AGENTS.md`: Regel erweitert. `STATUS.md`: Erledigt
**Kontext für die nächste Sitzung:** `tests/test_referenzmodelle.py` (`BEKANNTE_KREUZUNGEN`), `md_to_bpmn.py` Zweig
`is_back` und Schleife `msg_flow_records` in `build_bpmn()`
## Checkliste
- [x] Nur Änderungen zum Issue
- [x] Keine Debug-`print`, kein auskommentierter Code
- [x] Keine personenbezogenen Daten, keine internen Originalunterlagen
- [x] Doku des Skills nachgezogen (`Anleitung.md`)
- [x] Wissensbasis nachgezogen (`fallstricke.md`, `AGENTS.md`, `STATUS.md`)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
- test_referenzmodelle.py: kreuzungen() prüft alle Sequenz- und
Nachrichtenflüsse gegen Aufgaben, Ereignisse (Kreis), Gateways (Raute)
und Datenelemente und liefert alle Funde. Neuer Test je Modell unter
beispiele/ (auch Syntaxbeispiele): keine unbekannte Kreuzung.
- Bekannte Fälle je Kreuzung in BEKANNTE_KREUZUNGEN, jeder mit eigenem
xfail(strict=True)-Test: #12 (Rücksprung durch S5 in beispiel_lanes),
#13 (Nachrichtenfluss durch S5 in beispiel_lanes und durch S24 im
Referenzmodell).
- test_keine_kante_fuehrt_durchs_innere_eines_gateways entfällt: Die neue
Prüfung deckt Gateways mit derselben Rautengeometrie ab und meldet mehr.
Gegenprobe am Stand vor #8: alle sieben Kreuzungen auf einmal gefunden.
- Selbsttest der Prüfung und test_ausweichabstand_liegt_in_beiden_layouts
_im_freien_gang (bindet AUSWEICHABSTAND an DEFAULT_SIZE und Abstände).
- AGENTS.md: xfail-Ausnahme gilt für alle Modelle unter beispiele/, je
Fehler einzeln. Anleitung, Fallstricke, STATUS nachgezogen.
- Tests: python -m pytest -q -> 97 bestanden, 3 xfail (#12, #13).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Daniel
merged commit b403036203 into main2026-09-25 11:03:26 +00:00
Daniel
deleted branch feature/16-strukturtests-alle-kanten2026-09-25 11:03:27 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Was
Die Strukturtests prüfen jetzt alle Sequenz- und Nachrichtenflüsse aller Modelle unter
beispiele/gegen alleElemente und melden alle Funde auf einmal. Bekannte Fehler stehen je Kreuzung als strikter
xfail, nicht jeModell. Außerdem ist
AUSWEICHABSTANDper Test an die Layout-Maße gebunden.Closes #16
Wie geprüft
python -m pytest -q:97 passed, 3 xfailed. Die drei xfail sind #12 und zweimal Konverter: Nachrichtenfluss zum externen Pool läuft durch eine Aufgabe (#13)python scripts/pruefe_umlaute.py:GRÜN: 0 Fund/e in 12 Datei(en).python scripts/pruefe_prozesse.py:GRÜN: 0 Befund/e, 0 Prozess(e), 3 Beispiel(e).Die Konverterausgabe istunverändert, alle
.bpmnsind byte-gleich.bpmnvon vor #8 angewandt findet alle sieben Kreuzungen aufeinmal (5 × Gateway, S40, S24). Die alte Prüfung meldete nur S12→S13
AUSWEICHABSTANDtestweise auf 125 gesetzt. Der neue Test schlägt fehl („Spaltenabstand 170“)Änderungen an Syntax und Ablageformat
keine
Übergabenotiz
Aufgabe: #16: Jede Kante durchs Innere eines Elements fällt in den Tests auf, in allen Beispielen und mit allen
Funden.
Stand: fertig
Geändert:
tests/test_referenzmodelle.py:kreuzungen()mit Raute, Kreis und Rechtecktest_keine_unbekannte_kante_fuehrt_durch_ein_element, je Modell unterbeispiele/test_bekannte_kreuzung_ist_behoben, je bekanntem Paar alsxfail(strict=True)BEKANNTE_KREUZUNGENersetztBEKANNTE_KANTEN_DURCH_GATEWAYtest_keine_kante_fuehrt_durchs_innere_eines_gateways. Er ist vollständig in der neuenPrüfung enthalten: gleiche Rautengeometrie (
_liegt_in_rautenflaeche), zusätzlich alle anderen Elemente, alleFunde, alle Modelle. Der Einzeltest in
test_md_to_bpmn.pybleibt.agents/skills/sn-bpmn/test_md_to_bpmn.py: neuer Testtest_ausweichabstand_liegt_in_beiden_layouts_im_freien_gangAGENTS.md: Die xfail-Ausnahme gilt für alle Modelle unterbeispiele/(Referenzmodelle und Syntaxbeispiele),und zwar je Fehler einzeln. Die übrigen Bedingungen sind unverändert: Konverterfehler, per Issue erfasst, nie für
eigene Fehler. Grund: Die bekannte Rücksprungkante (#12) liegt im Syntaxbeispiel
beispiel_lanes, und gerade diekleinen Beispiele machen Fehler schnell nachvollziehbar
Anleitung.md,docs/wissen/fallstricke.md,docs/status/STATUS.mdNachweis:
pytest:97 passed, 3 xfailed. PICTURE-Import nicht nötig, weil sich die Ausgabe nicht ändertEntscheidungen/Annahmen:
1 Einheit Rand
beispiel_lanesläuft ein Nachrichtenfluss durch eine Aufgabe (S5). Er ist #13zugeordnet, ein Kommentar-Entwurf für #13 liegt in
entwuerfe/20260925-130123-kommentar-Projektwissen-13.mdOffen / nächste Schritte:
Wissensbasis:
fallstricke.md: Eintrag „melden nur die erste Kreuzung“ ersetzt durch „bekannte Fehler jeKreuzung als xfail, nie je Modell“.
AGENTS.md: Regel erweitert.STATUS.md: ErledigtKontext für die nächste Sitzung:
tests/test_referenzmodelle.py(BEKANNTE_KREUZUNGEN),md_to_bpmn.pyZweigis_backund Schleifemsg_flow_recordsinbuild_bpmn()Checkliste
print, kein auskommentierter CodeAnleitung.md)fallstricke.md,AGENTS.md,STATUS.md)🤖 Generated with Claude Code