Wiederholungs-Versuche deckeln und benennen
Am laufenden Dienst gefunden, nicht am Reissbrett: nach dem Abschluss
eines Durchgangs fiel der Stand bei der naechsten Antwort kommentarlos
von 2/2 auf 1/2 zurueck. Ursache ist ein NEUER Ergebnis-Datensatz —
richtig im Ergebnis (Exams.retries sieht Wiederholungen vor), aber
unangekuendigt und ohne Deckel.
Drei Maengel behoben:
1. `retries` wird geprueft. Die Lesart ist ausdruecklich festgeschrieben:
retries sind die WIEDERHOLUNGEN, der erste Durchgang zaehlt nicht dazu
(retries:2 = drei Durchgaenge). Der Vertrag sagt es nicht, und beide
Lesarten sind vertretbar - wer sie anders liest, deckelt um eins
daneben. Aufgebraucht -> 409 versuche-aufgebraucht.
2. Der NEUESTE Versuch bestimmt den Stand. Liste und Detail sortierten
nicht; bei mehreren Ergebnis-Datensaetzen war unbestimmt, welcher den
Stand liefert - die Uebersicht zeigte je nach Fund-Reihenfolge der
Datenbank mal den alten, mal den neuen.
3. Die Antwort meldet `neuerVersuch`, damit die Oberflaeche den
Ruecksprung erklaeren kann statt ihn geschehen zu lassen.
Dabei von der Testreihe eine Null-Falle gefangen: Number(null) ist 0,
nicht NaN - ein nicht gesetztes `retries` haette den Deckel still auf
EINEN Durchgang gesenkt statt auf den Vorgabewert zu fallen.
69 Tests, Flip-Probe auf den Deckel gefahren.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
eines Durchgangs fiel der Stand bei der naechsten Antwort kommentarlos
von 2/2 auf 1/2 zurueck. Ursache ist ein NEUER Ergebnis-Datensatz —
richtig im Ergebnis (Exams.retries sieht Wiederholungen vor), aber
unangekuendigt und ohne Deckel.
Drei Maengel behoben:
1. `retries` wird geprueft. Die Lesart ist ausdruecklich festgeschrieben:
retries sind die WIEDERHOLUNGEN, der erste Durchgang zaehlt nicht dazu
(retries:2 = drei Durchgaenge). Der Vertrag sagt es nicht, und beide
Lesarten sind vertretbar - wer sie anders liest, deckelt um eins
daneben. Aufgebraucht -> 409 versuche-aufgebraucht.
2. Der NEUESTE Versuch bestimmt den Stand. Liste und Detail sortierten
nicht; bei mehreren Ergebnis-Datensaetzen war unbestimmt, welcher den
Stand liefert - die Uebersicht zeigte je nach Fund-Reihenfolge der
Datenbank mal den alten, mal den neuen.
3. Die Antwort meldet `neuerVersuch`, damit die Oberflaeche den
Ruecksprung erklaeren kann statt ihn geschehen zu lassen.
Dabei von der Testreihe eine Null-Falle gefangen: Number(null) ist 0,
nicht NaN - ein nicht gesetztes `retries` haette den Deckel still auf
EINEN Durchgang gesenkt statt auf den Vorgabewert zu fallen.
69 Tests, Flip-Probe auf den Deckel gefahren.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>