MZP · Agenten-Evals · MZP-113 · 2026-10-01
Fünfter Eval-Lauf: 13 von 13 grün
Dreizehn Aufgaben liefen mit festen Eingaben gegen Produktion. Es gibt keine Regression, kein knownIssue und keinen UNEXPECTED_PASS. Neu im Korpus ist dia-constraints (A4/N7, Lage-Wünsche per constraints[]): Der Wunsch „Cache über DB“ wird angenommen und vom Layout erfüllt. Alle übrigen Kennzahlen sind gegenüber dem 30.09. unverändert. Die LLM-Stufe lief heute nicht.
Deterministische Stufe
| Aufgabe | Familie | Status | Aufrufe | knownIssue | Kernbefund |
|---|---|---|---|---|---|
art-a11y-check | artifact | grün | 1 | — | A11Y_IMAGE_ALT als WARNING, 1 Element, ok bleibt true |
art-asset-bundle | artifact | grün | 3 | — | 3 Dateien, erreichbar, Render sauber |
art-broken | artifact | grün | 2 | — | ok:false mit allen vier Codes, keine Seite entstanden |
art-live-report | artifact | grün | 3 | — | Live-Daten stats im Snapshot (434 Seiten), Render sauber |
art-patch | artifact | grün | 5 | — | Patch lässt app.js stehen, der Diff zeigt nur index.html |
art-report | artifact | grün | 3 | — | validate → stagingToken → publish, Render sauber |
dia-architecture-auto | diagram | grün | 3 | — | 3 Kreuzungen, 8 Überlappungen, 24 Knicke (30.09.: 3 / 8 / 24) |
dia-constraints | diagram | grün | 2 | — | neu: 1 Wunsch, 0 unerfüllt; 0 Kreuzungen, 4 Knicke, Layout sauber |
dia-diff | diagram | grün | 4 | — | diffDiagram meldet genau 1 Knoten + 1 Kante |
dia-mermaid-flow | diagram | grün | 3 | — | 7 Knoten, 1 Zone; 2 Kreuzungen, 0 Überlappungen, 12 Knicke wie am 30.09. |
dia-quadrant-longlabels | diagram | grün | 2 | — | textInsideViewBox sauber (viewBox 960 × 540) |
dia-radar-wrapped | diagram | grün | 3 | — | typeBlocks entpackt (INFO), Achsentext im SVG |
edge-invalid-slug | edge | grün | 2 | — | INVALID_SLUG strukturiert, suggestion eval-slug-test |
Insgesamt 36 MZP-Aufrufe, 2 mehr als in der Baseline (34): das sind die zwei Aufrufe von dia-constraints. Alle anderen Aufgaben brauchten dieselbe Zahl wie am 30.09. Das Aufräumen am Anfang fand 13 Slugs vor, die schon weg waren (Seite nicht gefunden); in der Seitenliste (437 Seiten) stand kein eval--Slug. ms ist nicht gemessen, weil der Skill über MCP keine Zeitstempel sieht.
Neu: dia-constraints
Die Aufgabe übergibt ein Mermaid-Flowchart (Web → API → DB und Cache) mit dem Overlay constraints: [{kind: order, nodes: [cache, db]}]. validateDiagram meldet LAYOUT_APPLIED mit constraints: 1 und constraintsUnmet: 0, keinen der drei CONSTRAINT_*-Codes, und das Layout bleibt dabei sauber (0 Kreuzungen, 0 Überlappungen). Publish per stagingToken geht durch, Render und Browser-Nachzählung (22 Formen, keine außerhalb) sind sauber. Die Aufgabe hat keine Baseline und keine LLM-Daten; Vergleiche beginnen mit dem nächsten Lauf.
Beobachtungen, nicht bewertet
Keine davon beeinflusst Status oder Gate; sie stehen hier, damit sie nicht verloren gehen.
- Irreführender Fehlertext bei
art-broken:errors[0]endet auf „renderStrict=false meldet sie nur, ohne ok zu kippen“, obwohlokhierfalseist (StandardrenderStrict=true). Das Verhalten ist richtig, der Hinweis in der Meldung passt nicht dazu. - Unbekannte Klassen in
art-live-report: Der Payload nutztmz-stat-labelundmz-stat-value; der Server schlägtmz-stat__labelundmz-stat__valuevor (UNKNOWN_STYLE_CLASS, WARNING). Dasexpectprüft das nicht; laut Server stylen die beiden Klassen nichts. Der Skill ändert keine Aufgaben-Dateien. - Titelkollision beim Trenddiagramm:
TITLE_COLLISIONverweist auf die älterenmzp-eval-trend-*-Seiten. Der Lauf setzt keinen Lifecycle auf fremden Reports. visualProof.overflowist jetzt eine Liste (leer) statt einer Zahl; in results.json steht wie bisher die Anzahl (0).
Verlauf
line, Slug mzp-eval-trend-2026-10-01). Aufrufe 28 → 30 → 34 → 34 → 36, grün 5 → 9 → 10 → 12 → 13, gelb 1 → 0 → 0 → 0 → 0, rot 0. Die Historie steht in results.json.