Nachrichtenflüsse senkrecht und an Elementen vorbei führen (#13) #21

Merged
Daniel merged 1 commits from bugfix/13-nachrichtenfluss into main 2026-09-25 13:37:56 +00:00
Owner

Was

Nachrichtenflüsse laufen senkrecht vom Schritt zum externen Pool statt schräg, und sie weichen Elementen darunter
über einen freien Gang aus. Damit gibt es in den Beispielen keine bekannte Kante durch ein Element mehr.
Closes #13

Wie geprüft

  • python -m pytest -q: 106 passed, 1 skipped
    • Die beiden xfails für #13 haben als XPASS angeschlagen und sind entfernt
    • Das „skipped“ ist test_bekannte_kreuzung_ist_behoben mit leerer Parameterliste („got empty parameter set“),
      weil BEKANNTE_KREUZUNGEN jetzt leer ist. Mit dem nächsten Eintrag läuft er wieder, stillgelegt ist nichts
  • python scripts/pruefe_umlaute.py: GRÜN: 0 Fund/e in 12 Datei(en).
  • python scripts/pruefe_prozesse.py --erzeugen: Es ändern sich beispiel_lanes und das Referenzmodell, nur an den
    Nachrichtenflüssen. Prozessbibliothek: noch keine Modelle
  • Belastungstest (einmalig, nicht im Repo): Nachrichtenflüsse von einem bzw. zwei Schritten zu zwei externen Pools,
    ein- und ausgehend, in zwei Testmodellen, ohne Lanes, mit einer und mit zwei Lanes (342 Fälle)
    • Kreuzungen durch Nachrichtenflüsse: auf main 182 Fälle, jetzt 0
    • schräge Nachrichtenflüsse: auf main 600, jetzt 0
  • Vorschau (geänderte Beispiele nach AGENTS.md):
    • Freie Nachrichtenflüsse enden senkrecht unter dem Start, z. B. zum Start-Ereignis in beispiel_lanes bei x 128
      statt schräg bei x 341
    • Blockierte Nachrichtenflüsse gehen über den Gang:
      • beispiel_lanes S4: unten hinaus bis y 345, zum Gang bei x 845, hinunter. Das liegt neben der
        Rücksprungkante aus #12 (y 335, x 825)
      • Referenzmodell S16: zum Gang bei x 3125, vorher schräg durch S24
  • PICTURE-Import: PICTURE 2026.4.1, referenz_gewannenfestlegung.bpmn und beispiel_lanes.bpmn: Import ohne
    Fehler, Darstellung in Ordnung

Änderungen an Syntax und Ablageformat

keine. Die Ausgabe ändert sich bei Modellen mit Nachrichtenflüssen. Modelle der Prozessbibliothek: keine vorhanden.

Übergabenotiz

Aufgabe: #13: Nachrichtenflüsse zum externen Beteiligten führen um andere Elemente herum.
Stand: fertig
Geändert:

  • .agents/skills/sn-bpmn/md_to_bpmn.py:
    • Nachrichtenflüsse enden senkrecht unter dem Startpunkt, die Anschlussverteilung am externen Pool entfällt
    • bei Hindernis über einen Gang (mit Lanes neben der Spalte, ohne Lanes rechts neben allen Elementen)
    • ohne Lanes wird der Pool bei Bedarf breiter
    • neue Konstanten NACHRICHT_STUB, NACHRICHT_VERSATZ
  • .agents/skills/sn-bpmn/test_md_to_bpmn.py: vier neue Tests, rechtwinklig und ohne Kreuzung, je mit und ohne Lanes
  • tests/test_referenzmodelle.py: beide xfail-Einträge für #13 entfernt
  • beispiele/beispiel_lanes.bpmn, beispiele/referenz_gewannenfestlegung.bpmn: neu erzeugt
  • Anleitung.md, docs/wissen/fallstricke.md, docs/status/STATUS.md

Nachweis: pytest: 106 passed, 1 skipped. PICTURE-Import: PICTURE 2026.4.1, beide Modelle in Ordnung
Entscheidungen/Annahmen:

  • Das Layout ohne Lanes ist mitbehandelt. Dort liefen Nachrichtenflüsse durch fast jeden Folgeschritt, und kein
    Beispiel deckte das ab
  • Führt ein Nachrichtenfluss zum zweiten externen Pool, quert er den ersten, der darüber liegt. Das war schon
    vorher so, Pools zählen in der Prüfung nicht als Hindernis. Bei Bedarf wäre das ein eigenes Issue
  • Mehrere blockierte Nachrichtenflüsse aus derselben Spalte (mit Lanes) teilen sich den Gang. Das kam im Test nicht
    vor

Offen / nächste Schritte:

  1. Issue-Entwurf zu den Vorwärtskanten aus #12 anlegen, falls noch nicht geschehen:
    entwuerfe/20260925-131338-issue-Projektwissen.md
  2. #14 (Beschriftungen) nach Abgleich mit PICTURE

Wissensbasis: fallstricke.md: neuer Eintrag „Nachrichtenflüsse enden senkrecht unter ihrem Start“.
Anleitung.md: Absatz zur Darstellung. STATUS.md: Erledigt
Kontext für die nächste Sitzung: md_to_bpmn.py Beschriftungen (Lane-Kopf, BPMNLabel der Kanten) für #14

Checkliste

  • Nur Änderungen zum Issue
  • Keine Debug-print, kein auskommentierter Code
  • Keine personenbezogenen Daten, keine internen Originalunterlagen
  • Doku des Skills nachgezogen (Anleitung.md)
  • Wissensbasis nachgezogen (fallstricke.md, STATUS.md)

🤖 Generated with Claude Code

## Was Nachrichtenflüsse laufen senkrecht vom Schritt zum externen Pool statt schräg, und sie weichen Elementen darunter über einen freien Gang aus. Damit gibt es in den Beispielen keine bekannte Kante durch ein Element mehr. Closes #13 ## Wie geprüft - `python -m pytest -q`: `106 passed, 1 skipped` - Die beiden xfails für #13 haben als XPASS angeschlagen und sind entfernt - Das „skipped“ ist `test_bekannte_kreuzung_ist_behoben` mit leerer Parameterliste („got empty parameter set“), weil `BEKANNTE_KREUZUNGEN` jetzt leer ist. Mit dem nächsten Eintrag läuft er wieder, stillgelegt ist nichts - `python scripts/pruefe_umlaute.py`: `GRÜN: 0 Fund/e in 12 Datei(en).` - `python scripts/pruefe_prozesse.py --erzeugen`: Es ändern sich `beispiel_lanes` und das Referenzmodell, nur an den Nachrichtenflüssen. Prozessbibliothek: noch keine Modelle - Belastungstest (einmalig, nicht im Repo): Nachrichtenflüsse von einem bzw. zwei Schritten zu zwei externen Pools, ein- und ausgehend, in zwei Testmodellen, ohne Lanes, mit einer und mit zwei Lanes (342 Fälle) - Kreuzungen durch Nachrichtenflüsse: auf `main` 182 Fälle, jetzt 0 - schräge Nachrichtenflüsse: auf `main` 600, jetzt 0 - Vorschau (geänderte Beispiele nach `AGENTS.md`): - Freie Nachrichtenflüsse enden senkrecht unter dem Start, z. B. zum Start-Ereignis in `beispiel_lanes` bei x 128 statt schräg bei x 341 - Blockierte Nachrichtenflüsse gehen über den Gang: - `beispiel_lanes` S4: unten hinaus bis y 345, zum Gang bei x 845, hinunter. Das liegt neben der Rücksprungkante aus #12 (y 335, x 825) - Referenzmodell S16: zum Gang bei x 3125, vorher schräg durch S24 - PICTURE-Import: PICTURE 2026.4.1, `referenz_gewannenfestlegung.bpmn` und `beispiel_lanes.bpmn`: Import ohne Fehler, Darstellung in Ordnung ## Änderungen an Syntax und Ablageformat keine. Die Ausgabe ändert sich bei Modellen mit Nachrichtenflüssen. Modelle der Prozessbibliothek: keine vorhanden. ## Übergabenotiz **Aufgabe:** #13: Nachrichtenflüsse zum externen Beteiligten führen um andere Elemente herum. **Stand:** fertig **Geändert:** - `.agents/skills/sn-bpmn/md_to_bpmn.py`: - Nachrichtenflüsse enden senkrecht unter dem Startpunkt, die Anschlussverteilung am externen Pool entfällt - bei Hindernis über einen Gang (mit Lanes neben der Spalte, ohne Lanes rechts neben allen Elementen) - ohne Lanes wird der Pool bei Bedarf breiter - neue Konstanten `NACHRICHT_STUB`, `NACHRICHT_VERSATZ` - `.agents/skills/sn-bpmn/test_md_to_bpmn.py`: vier neue Tests, rechtwinklig und ohne Kreuzung, je mit und ohne Lanes - `tests/test_referenzmodelle.py`: beide xfail-Einträge für #13 entfernt - `beispiele/beispiel_lanes.bpmn`, `beispiele/referenz_gewannenfestlegung.bpmn`: neu erzeugt - `Anleitung.md`, `docs/wissen/fallstricke.md`, `docs/status/STATUS.md` **Nachweis:** `pytest`: `106 passed, 1 skipped`. PICTURE-Import: PICTURE 2026.4.1, beide Modelle in Ordnung **Entscheidungen/Annahmen:** - Das Layout ohne Lanes ist mitbehandelt. Dort liefen Nachrichtenflüsse durch fast jeden Folgeschritt, und kein Beispiel deckte das ab - Führt ein Nachrichtenfluss zum zweiten externen Pool, quert er den ersten, der darüber liegt. Das war schon vorher so, Pools zählen in der Prüfung nicht als Hindernis. Bei Bedarf wäre das ein eigenes Issue - Mehrere blockierte Nachrichtenflüsse aus derselben Spalte (mit Lanes) teilen sich den Gang. Das kam im Test nicht vor **Offen / nächste Schritte:** 1. Issue-Entwurf zu den Vorwärtskanten aus #12 anlegen, falls noch nicht geschehen: `entwuerfe/20260925-131338-issue-Projektwissen.md` 2. #14 (Beschriftungen) nach Abgleich mit PICTURE **Wissensbasis:** `fallstricke.md`: neuer Eintrag „Nachrichtenflüsse enden senkrecht unter ihrem Start“. `Anleitung.md`: Absatz zur Darstellung. `STATUS.md`: Erledigt **Kontext für die nächste Sitzung:** `md_to_bpmn.py` Beschriftungen (Lane-Kopf, `BPMNLabel` der Kanten) für #14 ## 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`, `STATUS.md`) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Daniel added 1 commit 2026-09-25 13:37:49 +00:00
- Nachrichtenflüsse enden senkrecht unter ihrem Startpunkt an der
  Oberkante des externen Pools statt an einem verteilten Punkt (keine
  schrägen Linien mehr); die Anschlussverteilung am externen Pool entfällt.
- Steht unter dem Schritt ein Element: kurz nach unten (NACHRICHT_STUB),
  dann in einen freien Gang – mit Lanes neben der Spalte, versetzt zu den
  Rücksprungkanten (NACHRICHT_VERSATZ); ohne Lanes rechts neben allen
  Elementen, der Pool wird dafür breiter.
- beispiel_lanes und Referenzmodell neu erzeugt: die beiden bekannten
  Kreuzungen (S5, S24) sind behoben, BEKANNTE_KREUZUNGEN ist leer.
- Vier neue Tests (rechtwinklig, keine Kreuzung; je mit und ohne Lanes).
- Belastungstest (342 Varianten): Kreuzungen durch Nachrichtenflüsse
  vorher 182, jetzt 0; schräge Nachrichtenflüsse vorher 600, jetzt 0.
- Tests: python -m pytest -q -> 106 bestanden, 1 übersprungen (leere
  Parameterliste von test_bekannte_kreuzung_ist_behoben).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Daniel merged commit d40d49b002 into main 2026-09-25 13:37:56 +00:00
Daniel deleted branch bugfix/13-nachrichtenfluss 2026-09-25 13:37:57 +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#21