Kanten zwischen Gateways umgehen die Ziel-Raute (#8) #17

Merged
Daniel merged 1 commits from bugfix/8-kante-durch-gateway into main 2026-09-25 10:30:19 +00:00
Owner

Was

Eine Kante von Gateway zu Gateway läuft nicht mehr durch die Ziel-Raute, wenn der Stub des Starts schon jenseits des
Ziel-Anschlusspunkts liegt. Sie weicht dann im freien Gang vor der Ziel-Spalte seitlich aus. Im Referenzmodell waren
davon fünf Kanten betroffen, nicht nur die im Issue genannte.
Closes #8

Wie geprüft

  • python -m pytest -q: 92 passed, kein xfail mehr
  • python scripts/pruefe_umlaute.py: GRÜN: 0 Fund/e in 12 Datei(en).
  • python scripts/pruefe_prozesse.py --erzeugen: nur referenz_gewannenfestlegung.bpmn ändert sich, die beiden
    Syntaxbeispiele bleiben byte-gleich; Prozessbibliothek: noch keine Modelle
  • Alle Kanten gegen alle Elemente geprüft (nicht nur Gateways):
    • vorher 5 Kanten durch Gateways (S13, S18, S27, S44, S50) und 1 durch die Aufgabe S40
    • nachher keine mehr
    • übrig bleiben 2 ältere Fälle anderer Art, siehe „Offen“
  • Vorschau (Änderung am Referenzmodell nach AGENTS.md): Die fünf Kanten gehen jetzt je 85 vor der Ziel-Raute
    senkrecht am Ziel vorbei und kommen von oben bzw. unten am Anschlusspunkt an. Beispiel S12→S13: vorher
    2225/220 → 2415/220 → 2415/35, jetzt 2225/220 → 2320/220 → 2320/35 → 2415/35
  • PICTURE-Import: PICTURE 2026.4.1, referenz_gewannenfestlegung.bpmn: Import ohne Fehler, keine Kante läuft mehr
    durch ein Element

Änderungen an Syntax und Ablageformat

keine. Die Ausgabe ändert sich nur bei Gateway → Gateway in der beschriebenen Lage. Modelle der Prozessbibliothek:
keine vorhanden.

Übergabenotiz

Aufgabe: #8: Keine Kante führt durchs Innere eines Gateways, auch nicht zwischen zwei Gateways mit Ankunft am
Nordpunkt.
Stand: fertig
Geändert:

  • .agents/skills/sn-bpmn/md_to_bpmn.py:
    • orthogonal_points(): Umweg im Fall Gateway → Gateway, wenn der Start-Stub jenseits des Ziels liegt,
      senkrecht (N/S) wie waagrecht (O/W)
    • neu _ausweichachse() und Konstante AUSWEICHABSTAND = 85 (halbe Aufgabenbreite + halber kleinster Spaltengang)
  • .agents/skills/sn-bpmn/test_md_to_bpmn.py: drei neue Tests. Lage aus dem Issue, Spiegelfall Ost→West, Umweg
    meidet die Spalte dazwischen
  • tests/test_referenzmodelle.py: xfail-Eintrag entfernt
  • beispiele/referenz_gewannenfestlegung.bpmn: neu erzeugt, fünf Kanten
  • docs/wissen/fallstricke.md, docs/status/STATUS.md

Nachweis: pytest: 92 passed. PICTURE-Import: PICTURE 2026.4.1, Referenzmodell, keine Kante durch ein Element
Entscheidungen/Annahmen:

  • Der erste Ansatz legte die Ausweichachse in die Mitte zwischen Quelle und Ziel. Das führte die Kante S44→S50
    durch die Aufgabe S43 und wurde verworfen. Der Gang vor der Ziel-Spalte ist in beiden Layouts frei (Spalten
    170/190, Elemente höchstens 100 breit)
  • Der Spiegelfall Ost→West kommt in den Beispielen nicht vor und ist nur per Einzeltest abgesichert

Offen / nächste Schritte:

  1. Nebenbefunde aus #8 als eigene Issues: #12 Rücksprungkanten (beispiel_lanes, S4→S2 durch S5), #13
    Nachrichtenfluss durch eine Aufgabe (S16 → extern durch S24), #14 überlappende Beschriftungen
  2. #16 Strukturtests auf alle Kanten und alle Elemente ausweiten (bisher nur erste Gateway-Kreuzung)
  3. #15 XOR-Gateways mit sichtbarem „X"

Wissensbasis: fallstricke.md: Eintrag zu #8 ersetzt (Ausweichachse), neu „Strukturtests melden nur die erste
Kreuzung“. STATUS.md: Erledigt
Kontext für die nächste Sitzung: md_to_bpmn.py orthogonal_points() / _ausweichachse(), Zweig is_back in
build_bpmn() (nächstes Issue), tests/test_referenzmodelle.py

Checkliste

  • Nur Änderungen zum Issue
  • Keine Debug-print, kein auskommentierter Code
  • Keine personenbezogenen Daten, keine internen Originalunterlagen
  • Doku des Skills nachgezogen: nicht betroffen (Syntax und Modellierregeln unverändert)
  • Wissensbasis nachgezogen (fallstricke.md, STATUS.md)

🤖 Generated with Claude Code

## Was Eine Kante von Gateway zu Gateway läuft nicht mehr durch die Ziel-Raute, wenn der Stub des Starts schon jenseits des Ziel-Anschlusspunkts liegt. Sie weicht dann im freien Gang vor der Ziel-Spalte seitlich aus. Im Referenzmodell waren davon fünf Kanten betroffen, nicht nur die im Issue genannte. Closes #8 ## Wie geprüft - `python -m pytest -q`: `92 passed`, kein xfail mehr - `python scripts/pruefe_umlaute.py`: `GRÜN: 0 Fund/e in 12 Datei(en).` - `python scripts/pruefe_prozesse.py --erzeugen`: nur `referenz_gewannenfestlegung.bpmn` ändert sich, die beiden Syntaxbeispiele bleiben byte-gleich; Prozessbibliothek: noch keine Modelle - Alle Kanten gegen alle Elemente geprüft (nicht nur Gateways): - vorher 5 Kanten durch Gateways (S13, S18, S27, S44, S50) und 1 durch die Aufgabe S40 - nachher keine mehr - übrig bleiben 2 ältere Fälle anderer Art, siehe „Offen“ - Vorschau (Änderung am Referenzmodell nach `AGENTS.md`): Die fünf Kanten gehen jetzt je 85 vor der Ziel-Raute senkrecht am Ziel vorbei und kommen von oben bzw. unten am Anschlusspunkt an. Beispiel S12→S13: vorher 2225/220 → 2415/220 → 2415/35, jetzt 2225/220 → 2320/220 → 2320/35 → 2415/35 - PICTURE-Import: PICTURE 2026.4.1, `referenz_gewannenfestlegung.bpmn`: Import ohne Fehler, keine Kante läuft mehr durch ein Element ## Änderungen an Syntax und Ablageformat keine. Die Ausgabe ändert sich nur bei Gateway → Gateway in der beschriebenen Lage. Modelle der Prozessbibliothek: keine vorhanden. ## Übergabenotiz **Aufgabe:** #8: Keine Kante führt durchs Innere eines Gateways, auch nicht zwischen zwei Gateways mit Ankunft am Nordpunkt. **Stand:** fertig **Geändert:** - `.agents/skills/sn-bpmn/md_to_bpmn.py`: - `orthogonal_points()`: Umweg im Fall Gateway → Gateway, wenn der Start-Stub jenseits des Ziels liegt, senkrecht (N/S) wie waagrecht (O/W) - neu `_ausweichachse()` und Konstante `AUSWEICHABSTAND = 85` (halbe Aufgabenbreite + halber kleinster Spaltengang) - `.agents/skills/sn-bpmn/test_md_to_bpmn.py`: drei neue Tests. Lage aus dem Issue, Spiegelfall Ost→West, Umweg meidet die Spalte dazwischen - `tests/test_referenzmodelle.py`: xfail-Eintrag entfernt - `beispiele/referenz_gewannenfestlegung.bpmn`: neu erzeugt, fünf Kanten - `docs/wissen/fallstricke.md`, `docs/status/STATUS.md` **Nachweis:** `pytest`: `92 passed`. PICTURE-Import: PICTURE 2026.4.1, Referenzmodell, keine Kante durch ein Element **Entscheidungen/Annahmen:** - Der erste Ansatz legte die Ausweichachse in die Mitte zwischen Quelle und Ziel. Das führte die Kante S44→S50 durch die Aufgabe S43 und wurde verworfen. Der Gang vor der Ziel-Spalte ist in beiden Layouts frei (Spalten 170/190, Elemente höchstens 100 breit) - Der Spiegelfall Ost→West kommt in den Beispielen nicht vor und ist nur per Einzeltest abgesichert **Offen / nächste Schritte:** 1. Nebenbefunde aus #8 als eigene Issues: #12 Rücksprungkanten (`beispiel_lanes`, S4→S2 durch S5), #13 Nachrichtenfluss durch eine Aufgabe (S16 → extern durch S24), #14 überlappende Beschriftungen 2. #16 Strukturtests auf alle Kanten und alle Elemente ausweiten (bisher nur erste Gateway-Kreuzung) 3. #15 XOR-Gateways mit sichtbarem „X" **Wissensbasis:** `fallstricke.md`: Eintrag zu #8 ersetzt (Ausweichachse), neu „Strukturtests melden nur die erste Kreuzung“. `STATUS.md`: Erledigt **Kontext für die nächste Sitzung:** `md_to_bpmn.py` `orthogonal_points()` / `_ausweichachse()`, Zweig `is_back` in `build_bpmn()` (nächstes Issue), `tests/test_referenzmodelle.py` ## 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: nicht betroffen (Syntax und Modellierregeln unverändert) - [x] Wissensbasis nachgezogen (`fallstricke.md`, `STATUS.md`) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Daniel added 1 commit 2026-09-25 10:28:35 +00:00
- 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>
Daniel merged commit 2de2e9ffda into main 2026-09-25 10:30:19 +00:00
Daniel deleted branch bugfix/8-kante-durch-gateway 2026-09-25 10:30:20 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: AG_Prozesse/Projektwissen#17