{"asOf":"2026-10-07","axes":[{"id":"d","name":"Design"},{"id":"a","name":"Agent-Use"},{"id":"e","name":"Efficiency"}],"rows":[
{"id":"engine","name":"Diagramm-Engine","short":"Engine","sub":"45 Typen, Auto-Layout, Constraints, Routing","s":{"d":4,"a":4,"e":4},"n":{"d":"Auto-Layout ohne Koordinaten. Korpus-Register: 49 Kreuzungen, 188 Überlappungen, 914 Knicke. Überlappungen wurden bewusst gegen TRANSIT_NOT_DASHED getauscht (112 → 188 netto, Spitze 269). Nur orthogonales Routing.","a":"Alle 9 Diagramm-Evals grün (06.10.). Knoten brauchen kein x/y. Offen: Fehlermeldungen innerhalb der typeBlocks (MZP-150, REVIEW).","e":"Live-Probe heute: 3 Knoten ohne Koordinaten, ein Aufruf, Antwort gut 1 KB, SVG 3,7 KB. Der Browser-Check (visualProof) kostet rund 1,8 s und ist optional."}},
{"id":"input","name":"Eingabeformen","short":"Eingaben","sub":"diagramJson, Mermaid, ASCII, Skizze, draw.io","s":{"d":3,"a":4,"e":5},"n":{"d":"Der Mermaid-Flow der Eval bleibt unsauber: 2 Kreuzungen, Kantenlängen-Streuung 1,36 (Architektur-Auto: 0,45). Der neue draw.io-Weg (Gold-6) rechnet das Layout neu; die Probe mit zwei Knoten und einer Kante kam sauber heraus (0 Kreuzungen), an einem größeren Graphen ist er nicht gemessen.","a":"Gold-6 hat die Lücke draw.io-Import geschlossen (validateDiagram, Parameter drawio, live geprüft). ASCII-Skizze: Sonnet und Haiku brauchen je 2 Aufrufe, Layout sauber. Offen: kein sequenceDiagram (MZP-158), keine Mehrblock-Markdown (MZP-159). Nicht höher: für draw.io fehlt der Eval-Beleg mit einem Agenten.","e":"Billigster Weg der LLM-Matrix: Haiku löst die ASCII-Aufgabe für 0,048 $ in 27 s. Die draw.io-Datei geht als ein Parameter hinein, ohne Umweg über Koordinaten."}},
{"id":"pipeline","name":"Artefakt-Pipeline","short":"Pipeline","sub":"publishArtifact, Staging, Patch, Versionen","s":{"d":4,"a":4,"e":5},"n":{"d":"Das Klassen-Vokabular wird erzwungen (UNKNOWN_STYLE_CLASS), dazu optional axe-core nach WCAG 2.2 (a11y=true). Eine Seite wird dadurch nicht schön, aber nie ungestylt veröffentlicht.","a":"7 von 7 Artefakt-Evals grün. Der Render-Check meldet PAGE_EXCEPTION schon beim Validieren (B1 behoben). Nicht höher: schwächere Modelle verfehlen die Nachbarfähigkeiten analog und liveData.","e":"fromSlug und stagingToken sparen die doppelte Nutzlast, mode=patch sendet nur Geändertes, verbosity=compact kürzt die Antwort."}},
{"id":"ui","name":"Design-System mzone-ui","short":"mzone-ui","sub":"Version 1.8.0, Klassen und Effekt-Module","s":{"d":4,"a":4,"e":3},"n":{"d":"Dunkel und Hell, 27 Transitions, 35 Effekt-Module (Fluid, Cloth, Shatter, Glyph-Rain …), öffentlicher Playground. Nicht 5: axe meldete beim Veröffentlichen dieser Seite einen Kontrastfehler (serious) an mz-pill--warn, an zwei Elementen.","a":"Die Klassennamen stehen in getCapabilities. Wer rät, bekommt UNKNOWN_STYLE_CLASS mit Vorschlag (mz-stat-label → mz-stat__label).","e":"mzone-ui 596 KB in 49 Dateien, three 1,3 MB, Schriften 441 KB. /lib/ ist immutable gecacht, ein Report mit Effekten lädt trotzdem schwer."}},
{"id":"brand","name":"Branding-Profile","short":"Branding","sub":"nightline, ledger, monoblock, arcade, eigene","s":{"d":3,"a":4,"e":4},"n":{"d":"Vier eingebaute Profile. Eigene Schriften fehlen (MZP-161), Größen-Presets fehlen (MZP-167), eigene Profile warten auf Abnahme (MZP-160, REVIEW).","a":"searchBranding nimmt Freitext ('verspielt' → arcade). Die Eval dia-branding-profile ist grün.","e":"meta.profile ersetzt 15 Farbfelder durch einen Namen, der Deriver leitet den Rest aus drei Farben ab."}},
{"id":"analog","name":"analog-Stil (Handzeichen)","short":"analog","sub":"analog@1.2.0, Tuschestrich, 30 Bausteine","s":{"d":5,"a":3,"e":3},"n":{"d":"Einzigartig im Bestand: Karten, Pfeile, Tuschestrich. Die Kontur rechnet der Server in Java (TUSCHE_APPLIED), der Handkreis ist reines CSS.","a":"Haiku griff zum Diagramm-Werkzeug statt zum Artefakt und scheiterte nach 4 Fehlversuchen. Sonnet schaffte es in 3 Aufrufen. Der Fix MZP-154 steht in REVIEW, ohne Wiederholungen.","e":"Sonnet: 100 k Tokens und 0,158 $ für ein Blatt. Haiku: 0,061 $ für einen Fehlschlag."}},
{"id":"live","name":"Lebende Reports (liveData)","short":"Live-Reports","sub":"_data.json beim Abruf gerechnet","s":{"d":3,"a":3,"e":5},"n":{"d":"Nur Zahlen, Enums und Zeitstempel (LiveDataShapeTest), bewusst keine Inhalte. Die Darstellung liegt bei mzone-ui.","a":"Haiku schrieb die Zahl fest ein (1 Aufruf, keine Quelle), Sonnet fand liveData in 5 Aufrufen. MZP-155 steht in REVIEW.","e":"Der Server rechnet die Zahl beim Abruf: kein Republish nötig, und der Snapshot läuft durch Version und Rollback."}},
{"id":"chat","name":"Chat-Viewer (MCP Apps)","short":"Chat-Viewer","sub":"ui://mzp/diagram-viewer, Hotspot-Marker","s":{"d":4,"a":5,"e":5},"n":{"d":"Interaktiver Viewer direkt im Chat, mit nummerierten Hotspot-Markern. Ohne meta.interactive sitzen die Marker auf dem nackten SVG.","a":"Im echten Claude-Host abgenommen (Handshake, Tool-Ergebnis, Marker). Gesten im Viewer werden zu constraints[].","e":"Die Daten holt die Brücke über das App-only-Tool getDiagramChatView, nie durch den Modellkontext."}},
{"id":"export","name":"Export und Versionen","short":"Export","sub":"PNG, PDF, Versionen, Diff, Rollback","s":{"d":4,"a":4,"e":4},"n":{"d":"PNG in 1× bis 4×, transparenter Hintergrund, Social-Preview. PDF über den Render-Dienst (MZP-142) steht in REVIEW.","a":"diffDiagram liefert eine Quittung (genau 1 Knoten und 1 Kante neu), dazu rollbackArtifact und Review-Links bis 7 Tage.","e":"Höchstens 5 Versionen je Slug, mode=patch sichert nur Geändertes. Kein WebM und keine Share-Card (MZP-56)."}},
{"id":"mcp","name":"MCP-Oberfläche","short":"MCP","sub":"41 Tools, Landkarte, Fehlerführung","s":{"d":null,"a":4,"e":4},"n":{"a":"getCapabilities ist die Landkarte, strukturierte Fehler tragen eine suggestion (INVALID_SLUG → eval-slug-test). Offen: B9, listVersions auf einen unbekannten Slug antwortet unstrukturiert und doppelt (nach Gold-7 erneut live bestätigt). Dazu sechs Publish-Wege (publishArtifact, publishPage, publishRawPage, publishRawPageCompressed, publishAsset, publishDiagram).","e":"Die Landkarte hat ein hartes Byte-Budget von 8192 B (laut Memory-Notiz, nicht neu gemessen), Tools laden lazy über ToolSearch, die Wiki-Tools sind mit MZP-151 abgebaut."}},
{"id":"catalog","name":"Katalog und Abfrage","short":"Katalog","sub":"listPublishedPages, searchPages, backlogQuery","s":{"d":null,"a":4,"e":3},"n":{"a":"Gold-7 hat die Feldauswahl nachgeliefert: fields an listPublishedPages und searchPages, compact an backlogQuery, beides im Tool-Text beschrieben. Die Cursor-Paginierung funktioniert, der Default liegt jetzt bei 50 Seiten. Nicht 5: searchPages sucht weiter nur im Slug, fullTextSearch bleibt ein eigenes Tool.","e":"Nachgemessen nach Gold-7 (Zeichenzahlen aus der Antwort geschätzt): listPublishedPages mit fields=slug,title,status liefert 200 Seiten in rund 16 000 statt 65 000 Zeichen. backlogQuery mit compact=true liefert 60 Tickets in rund 27 000 statt 52 000 Zeichen, trug aber noch zahlreiche Null-Felder je Ticket. Nicht 4: das Backlog ist auch kompakt schwer, und es gibt dort keine Feldauswahl."}},
{"id":"eval","name":"Eval-System (MZP-113)","short":"Evals","sub":"17 Aufgaben, deterministisch und LLM","s":{"d":null,"a":5,"e":3},"n":{"a":"17 von 17 grün (06.10.). Die LLM-Stufe läuft mit abgeschotteten Agenten (nur ToolSearch und MZP), stille Fehler prüft ein lokaler Chromium. Hat B1 bis B3 gefunden, die über 2000 Tests nicht fanden.","e":"Läuft von Hand nach jedem Deploy. LLM-Teilmenge vom 06.10.: 6 Läufe, 0,61 $, 512 k Tokens, ein Lauf je Zelle. Die Zeit je Aufruf wird nicht gemessen."}},
{"id":"gates","name":"Ratschen und Gates","short":"Gates","sub":"5 Gates, Register mit Begründung","s":{"d":null,"a":4,"e":3},"n":{"a":"Jede Ausnahme trägt ihre Begründung in derselben Registerzeile, AGENTS.md folgt 'closest wins', die Repo-Map rankt per PageRank. Nicht höher: die Architektur-Rationale liegt als Wiki-Seiten außerhalb des Repos.","e":"Suite 3:34 min bei 1356 Tests (09-03), heute rund 2310 Testmethoden und 46,5 k Zeilen main (+59 % in 5 Wochen). Laufzeit nicht neu gemessen. Der FxModuleSmokeTest-Flake (MZP-67) blockiert PIT, Mutationswert nur für delta (78 %)."}}
]}
