Commit Graph
5 Commits
Author SHA1 Message Date
DanielandClaude Opus 5.5 96225b5e02 Rücksprungkanten an allen Elementen vorbeiführen (#12)
- Mit Lanes: ruecksprung_points() fährt senkrecht nur in den Gängen
  zwischen den Spalten (rechts der Quelle, links des Ziels) und waagrecht
  knapp unter Quelle bzw. Ziel und in einem Kanal am Poolboden. Das
  Kanalband wird nach der Platzierung an die letzte Lane angehängt: Die
  Elemente bleiben, wo sie sind, die Kante bleibt im eigenen Pool, jede
  Rücksprungkante hat eine eigene Kanalhöhe.
- Ohne Lanes: Kanal seitlich an allen Elementen zwischen Quelle und Ziel
  vorbei (parallele Zweige stehen versetzt). Steht ein Nachbar in der
  Zeile im Weg, unten hinaus bzw. oben hinein über die Lücke zwischen den
  Zeilen (zeile(), zeile_frei()).
- beispiel_lanes: Kante S4->S2 läuft nicht mehr durch S5, Pool um das
  Kanalband höher, externer Pool entsprechend tiefer. beispiel_prozess:
  Kanal bei x 50 statt 20. Referenzmodell unverändert.
- xfail für #12 entfernt; fünf neue Tests in test_md_to_bpmn.py.
- Belastungstest (126 Rücksprung-Varianten, mit/ohne Lanes): Kreuzungen
  durch Rücksprungkanten vorher in 31 Fällen, jetzt in keinem.
- Tests: python -m pytest -q -> 102 bestanden, 2 xfail (#13).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 13:13:37 +02:00
DanielandClaude Opus 5.5 97413265f2 Strukturtests auf alle Kanten und alle Elemente ausweiten (#16)
- 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>
2026-09-25 13:01:23 +02:00
DanielandClaude Opus 5.5 25231d94e5 XOR-Gateways mit sichtbarem X ausgeben (#15)
- 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>
2026-09-25 12:35:15 +02:00
DanielandClaude Opus 5.5 30b47a0fd1 Kanten zwischen Gateways umgehen die Ziel-Raute (#8)
- 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>
2026-09-25 11:09:43 +02:00
DanielandClaude Opus 5.5 012509b6d1 Projektwissen der AG Prozesse aus AG_QGIS/Projektwissen abgeleitet
Übernommen ohne Historie aus AG_QGIS/Projektwissen (main @ decd2a0),
Skill sn-bpmn vom Branch BPMN-Skill @ 6efcac4 (ADR 0001).

- Skripte hallo.py, gitea.py, setup_workspace.py auf die Organisation
  AG_Prozesse umgestellt; das Workspace-Repo zählt über [workspace] repo
  als Ticket-Repo, auch ohne weitere [[repos]].
- pruefe_umlaute.py prüft jetzt die .py-Dateien des Workspace selbst.
- Branchmodell main plus Arbeitsbranches (ADR 0002).
- AGENTS.md, README, Leitfäden, Skills, Vorlagen, Fallstricke und Glossar
  auf die Prozessmodellierung zugeschnitten; QGIS- und Plugin-Spezifisches
  entfernt.
- Tests: python -m pytest -q .agents/skills -> 32 bestanden.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 12:34:37 +02:00