fix: Loop-Erkennung meldet bei „Blocker: Keine“ keinen falschen Schleifenabbruch

Zwei Judge-Runden mit „Blocker: Keine“ und verschiedenen Major-Punkten galten
als „gleicher Blocker zweimal“. loopKey() vergleicht jetzt die Blocker, bei
leerem Blocker-Abschnitt die Major-Punkte, sonst den ganzen Judge-Text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-10-15 02:42:30 +02:00
commit 2acfc85482

View file

@ -430,12 +430,15 @@ Stand und der Fix-Zyklus läuft automatisch bis PASS oder max. N Runden.
### Loop-Erkennung
Wenn zweimal hintereinander genau dieselben Blocker oder Concerns auftreten, bricht
`/optimize` ab:
Wenn zweimal hintereinander dieselbe Beanstandung auftritt, bricht `/optimize` ab:
```
⚠ Derselbe Blocker tritt erneut auf – Schleife abgebrochen. Bitte manuell prüfen.
⚠ Schleife: Gleicher Blocker zweimal – manuelle Intervention nötig
```
Verglichen wird der Blocker-Abschnitt des Judges. Steht dort nur „Keine“, werden stattdessen die Major-Punkte
verglichen; fehlen beide Abschnitte, der ganze Judge-Text. Zwei Runden mit „Blocker: Keine“, aber verschiedenen
Major-Punkten sind also keine Schleife.
In diesem Fall: `/judge` manuell ausführen, Blocker lesen, mit `/fix` manuell eingreifen.
### Max. Runden ohne PASS