Breit gebaut, am Rand noch nicht belegt
Der MZP hat in vier Wochen 56 % mehr Code bekommen und dabei seine Disziplin gehalten: 2.439 Tests laufen grün, fünf Ratschen halten den Bestand, die Agenten-Evals stehen bei 15 von 15. Was fehlt, ist selten Funktion. Es sind die Ränder: Aufrufe, die Erfolg melden und falsch liegen, Kosten, die gezählt statt gemessen werden, und Bereiche wie Gestaltung und Deploy, die kein eigenes Gate tragen.
Stand 2. Oktober 2026, main 8ec6013, Produktion am selben Tag befragt. Fünf Achsen, 40 Befunde: 34 gemessen, 6 Einschätzung, bei 21 habe ich selbst nachgeprüft.
Die Stärken-Matrix
Eine Spalte je Achse. Über der Mittellinie steht, was trägt, darunter, was kostet. Die Höhe einer Platte ist ihr Gewicht, gefüllt heißt gemessen, umrandet heißt Einschätzung. Jede Platte führt zum Absatz mit Beleg und Quelle.
- Stärke, gemessen
- Stärke, Einschätzung
- Schwäche, gemessen
- Schwäche, Einschätzung
- Höhe: Gewicht 1 bis 3
Auf schmalen Schirmen seitlich wischen. Dieselben Befunde stehen weiter unten als Text.
| Achse | Leistung | Beleg | Abstand | Kernaussage |
|---|---|---|---|---|
| Design | 4,0 | 2,5 | 1,5 | Handwerk ohne Gate |
| Diagramm | 4,5 | 4,0 | 0,5 | Breit und gemessen; Politur und ein stiller Fehler |
| Publish | 4,0 | 3,5 | 0,5 | Der Weg trägt; Export, Deploy und Transport nicht |
| Effizienz | 3,0 | 2,5 | 0,5 | Gespart wird gezielt, gemessen kaum |
| Agent-Usability | 4,0 | 3,5 | 0,5 | Der klarste Vorsprung; die Messbreite fehlt |
| Mittel | 3,9 | 3,2 | 0,7 | Die Leistung eilt dem Beleg voraus. |
Der Abstand zwischen Leistung und Beleg ist der eigentliche Befund. Er beträgt im Mittel 0,7 Punkte, bei Design aber 1,5: Dort ist am meisten gebaut und am wenigsten gesichert. Maßstab. Leistung: 5 ist Stand der Technik für diesen Zuschnitt ohne bekannte Lücke, 4 stark mit kleinen Lücken, 3 trägt, kostet aber spürbare Reibung, 2 Baustelle, 1 fehlt. Beleg: 5 heißt, jede Kernaussage hat ein Gate oder eine Messung gegen Produktion, 3 etwa die Hälfte, 1 nur Behauptung. Beides ist mein Urteil, keine Messung.
Die Empfehlung vorab
Erst die Ränder, dann der Glanz. Spur A (Tage): die zwei stillen Fehler schließen, den Phantomknoten im Mermaid-Import (MZP-135) und das leere PDF (MZP-131, Fix MZP-142), dazu die Eval-Messung auf alle 15 Aufgaben ausdehnen und Tokens und Zeit mitschreiben.
Spur B (Wochen): MZP-85 ziehen, den Simulationsmodus. Es ist die Extravaganz mit dem besten Verhältnis aus Beleg und Hebel: Der Spike ist fertig, das Schema steht, und drei Funde hängen daran (WebM, Klangspur, Schritt-Beschriftung).
Spur C (erst entscheiden): Tool-Profile, Upload-Schleuse für große Bündel, Design messbar machen. Isometrie (A6), Plotter (M3) und neue Wiki-Funktionen bleiben liegen. Begründung und Reihenfolge stehen weiter unten.
Die fünf Achsen im Einzelnen
Jede Achse hat vier Stärken und vier Schwächen, so wie sie in der Matrix stehen. Ein Absatz nennt Beleg und Quelle. „Gemessen“ heißt: Es steht eine Zahl aus einem Gate, Eval, Test, einer Zählung oder Live-Probe dahinter. „Einschätzung“ heißt: Ich schließe aus Lesen, Abwesenheit oder einem Einzelfall. „Selbst nachgeprüft“ heißt: Ich habe es in dieser Sitzung selbst gezählt, gelaufen oder abgerufen.
Design
Leistung 4,0Beleg 2,5Abstand 1,5
Das Haus kann viel und sieht erkennbar nach sich selbst aus. Fast nichts davon prüft ein Gate: Gestaltung ist hier Handwerk und keine Messgröße. Das ist die größte Lücke zwischen Leistung und Beleg im ganzen Haus.
Was trägt
- D-S1Ein Vokabular, versioniert und unveränderlichgemessenselbst nachgeprüft
mzone-ui 1.8.0 bringt 76 CSS-Klassen und rund 50 Module, dazu ein Dunkel/Hell-Theme über CSS-Variablen. Neun ältere Versionen werden weiter ausgeliefert, und
/lib/istimmutable: eine geänderte Bibliothek bekommt eine neue Nummer, eine veröffentlichte Seite ändert sich nie unter den Füßen.Quelle: getCapabilities, nginx-Konfiguration
- D-S2Falsche Klassen fallen beim Publish aufgemessen
Wer eine Klasse rät, bekommt beim Publish
UNKNOWN_STYLE_CLASSals WARNING mit Vorschlag zurück, statt ungestyltes HTML zu veröffentlichen. Der Eval art-live-report zeigt es am 2. Oktober:mz-stat-labelwird zumz-stat__labelkorrigiert.Quelle: Eval-Report 2026-10-02, getCapabilities
- D-S3Zehn Skins, vier Branding-Profilegemessenselbst nachgeprüft
Zehn Diagramm-Skins (minimal, dark, full-editorial, quiet, kontrast, gematik, blueprint, terminal, journal, signal) plus eine freie custom-Variante, dazu vier Branding-Profile (nightline, ledger, monoblock, arcade) mit Farbrollen, Typografie und Voice. Ein Diagramm lässt sich damit umkleiden, ohne dass der Agent Farben anfasst.
Quelle: DiagramVariant.java, getDesignMdFor
- D-S4Handschrift-Stil mit Werkzeuggemessen
analog@1.1.0 liegt versioniert unter
/lib/, trägt 30 Bausteine und wird vom Server erklärt (getCapabilityFor('analog')). Der Render-Check misst, ob Text im Rahmen bleibt und ob fremde Elemente Knoten schneiden (FIGURE_FIT,FIGURE_COLLISION); der Tuschestrich wird beim Publish in Java gerechnet (TUSCHE_APPLIED), die Schriften kommen aus dem Haus statt von Google. Der Eval art-analog-tusche ist grün: 4 Schwellstriche, 2 Rahmen ohne Befund.Quelle: Eval-Report 2026-10-02, getCapabilities
Was kostet
- D-W1Gestaltung wird kaum gemessenEinschätzungselbst nachgeprüft
Der Zugänglichkeits-Blick (axe-core, WCAG 2.2 AA) ist ein Opt-in und steht standardmäßig auf
false. Ein Pixel-Vergleich ist offen (E1 aus Band 4). Von 15 Eval-Aufgaben prüft eine die Zugänglichkeit und zwei die Geometrie (Text im Rahmen, Text in der viewBox); keine prüft, wie eine Seite aussieht. Was die Seiten gut aussehen lässt, merkt kein Gate, wenn es kippt. Der Schluss „kaum“ beruht auf Abwesenheit und ist deshalb eine Einschätzung.Quelle: validateArtifact-Beschreibung, Eval-Korpus, Band 4
- D-W2Tokens nur als Fließtextgemessenselbst nachgeprüft
getDesignMdForliefert die vier Branding-Profile als Markdown. Als CSS-Variablen oder DTCG-JSON gibt es sie nicht (MZP-115, IDEA); ein Artefakt kann die Werte nicht als Datei beziehen, nur abschreiben. Der Token-Satz von mzone-ui selbst ist sauber dokumentiert — die Lücke betrifft die Profile.Quelle: MZP-115, lookupStyles('tokens')
- D-W3Analog-Blätter stumm für Screenreadergemessen
Beide veröffentlichten Blätter tragen je 41 Elemente mit
tabindex='0', aber nur einaria-labelauf der ganzen Seite; Name und Erklärung stehen indata-nameunddata-descund erreichen nur das Tooltip-Skript. Ein Screenreader landet auf 41 namenlosen Gruppen (MZP-140, IDEA) — der Stil verletzt seine eigene Regel „Form vor Farbe“. Die Zahl stammt aus dem Ticket, ich habe sie nicht nachgezählt.Quelle: MZP-140
- D-W4Mehr Effekt als DatenEinschätzungselbst nachgeprüft
27 Transition-Klassen, vier Effekt-Klassen und rund 50 Module für Optik, Physik und Energie stehen drei Daten-Klassen gegenüber (
mz-table-wrap,mz-table,mz-stat). Für Berichte reicht das Vokabular bei Gerüst, Tabelle und Legende; wer Kennzahlen-Zeilen oder Vorher/Nachher-Gegenüberstellungen braucht, schreibt eigenes CSS — wie dieser Bericht. Wie viele der 448 Seiten das tun, habe ich nicht gezählt.Quelle: getCapabilities (styling, modules)
Was ich gesehen habe. Ich habe vier Live-Seiten im Browser angesehen. Der Diagramm-Viewer wirkt ausgearbeitet (schwebende Titelkarte, Suche, Kapitelleiste, Radar), die Analog-Musterkarte ist klar als Handschrift erkennbar, und die Architekturskizze ist sauber, aber die Zonenbeschriftung „BACKEND“ ist dort kaum zu lesen. Der Hausstil ist konsequent und nicht unverwechselbar: dunkle Fläche mit einem roten Akzent auf der einen, Papier mit Serife und Rost auf der anderen Seite gehören zu den häufigsten Defaults generierter Seiten. Das ist ein Geschmacksurteil und deshalb nicht in der Matrix gewichtet.
Diagramm
Leistung 4,5Beleg 4,0Abstand 0,5
Der stärkste Teil des Hauses: breit, getestet und mit eigenem Maß. Die Schwächen sind Politur im Layout, ein stiller Fehler im Import und eine Erstansicht, die bei flachen Abläufen zu klein ausfällt.
Was trägt
- G-S145 Typen, vier Eingabewegegemessenselbst nachgeprüft
DiagramTypekennt 45 Typen, von flowchart, sequence und er über sankey und wardley bis medallion und polar. Eingaben: die JSON-Spec, Mermaid (flowchart, state, er, class), seit dem 2. Oktober ASCII-Skizzen, dazu Lage-Vorgaben (constraints[], höchstens 12), die Rang und Reihenfolge im Auto-Layout festlegen.Quelle: DiagramType.java, Evals dia-ascii-architecture und dia-constraints
- G-S2Das Layout misst sich selbstgemessenselbst nachgeprüft
validateDiagrammeldet Kreuzungen, Überlappungen und Knicke als Zahlen (LAYOUT_QUALITY) und die Stellen alshotspots[]mit Ort und beteiligten Kanten. Ein Korpus aus 62 Graphen hält die Summen als Ratsche; der Property-Test über 300 Graphen hat seit E3 keine Verletzung mehr (vorher 50).Quelle: ratchet/layout-quality.txt, baseline.md
- G-S3Viewer mit Tiefe, auch im Chatgemessen
Der Viewer kann suchen, fokussieren, Erreichbarkeit verfolgen, Routen sondieren, ein Radar und eine Rollen-Linse zeigen, Steckbriefe öffnen, in Unterdiagramme springen und Kapitel abspielen. Der Chat-Viewer (MCP Apps) ist seit dem 29. September im echten Claude-Host nachgewiesen; Auswahl, Hotspots und Layout-Wünsche gehen als ein Kontextbericht zurück an den Agenten. Aus Berichten übernommen, im Host habe ich es nicht nachgespielt.
Quelle: MZP-126, MZP-128, MZP-132, MZP-146
- G-S4Der Kern ist hoch abgesichertgemessenselbst nachgeprüft
Die Diagramm-Pakete erreichen zusammen 97,9 % Instruktionsabdeckung (55.345 Instruktionen, mein Lauf vom 2. Oktober), das Layout-Paket 99,3 %. Die Mutationsquote im delta-Paket liegt bei 78 % (Messung vom 3. September, seither nicht wiederholt): dort fangen die Tests nachweislich etwas, sie führen nicht nur Code aus.
Quelle: jacoco-Lauf 2026-10-02, baseline.md
Was kostet
- G-W1Die Layout-Politur stocktgemessenselbst nachgeprüft
Das Eval-Diagramm dia-mermaid-flow (7 Knoten) hat 2 Kreuzungen und 12 Knicke, dia-architecture-auto 3 Kreuzungen, 8 Überlappungen und 24 Knicke. Im Korpus halbierte E3 die Kreuzungen (108 auf 54), verdoppelte aber die Überlappungen (112 auf 235) und trieb die Knicke von 576 auf 936. Der Tausch ist ehrlich dokumentiert („Der ehrliche Tausch“); die Ursache im Router, Kehrtwenden an der Quelle (N5), ist offen.
Quelle: ratchet/layout-quality.txt, Evals 2026-10-02, mzp-48h-tausch
- G-W2Ein stiller Phantomknotengemessen
Eine Kante, deren Ende die Id eines Subgraphen ist, erzeugt im Mermaid-Import einen zusätzlichen Knoten, mit
ok:trueund ohne Notice (MZP-135, IDEA). Es war der einzige Fehlschlag der 15 LLM-Läufe vom 30. September und stand schon im Bericht vom 28.; ein Agent kann diesen Erfolg nicht als falsch erkennen. Dazu N4: Kanten über Ebenen (drillDown) werden nicht gegeneinander geprüft.Quelle: MZP-135, Eval-Report 2026-09-30
- G-W3Erstansicht bei flachen Abläufen zu kleingemessenselbst nachgeprüft
Vier Live-Diagramme im Browser (Chromium, 1280×900): die zwei breiten, flachen Abläufe mzp-48h-layout und mzp-48h-mcp-apps zeigen Knotentext mit 5 bis 6 px Höhe im Median; der Inhalt füllt dort 39 bis 46 % der viewBox. Ein kompakter Fluss kommt auf 14 px, ein nicht-interaktives Diagramm auf 19 px. Eine Stichprobe von vier Seiten bei einem Viewport; die Ursache habe ich nicht untersucht.
Quelle: eigene Messung per Browser, 2026-10-02
- G-W4Simulationsmodus wartetgemessen
MZP-85 steht seit dem 7. September auf READY (P3); der Spike MZP-87 hat Schema und DOM-Vertrag bestätigt. Daran hängen der WebM-Export (A7), die Klangspur (D5) und die Schritt-Beschriftung aus dem LikeC4-Vergleich — alle drei bleiben blockiert, solange das Ticket nicht gezogen wird.
Quelle: MZP-85, MZP-87, Band 4 (N6)
Publish
Leistung 4,0Beleg 3,5Abstand 0,5
Der Weg von der Datei zur Seite ist ausgereift und hat Sicherheitsnetze. Die Risiken liegen drumherum: im Export, im Deploy und beim Transport großer Bündel.
Was trägt
- P-S1Prüfen, ohne zu speicherngemessen
validateArtifactlädt die Seite in einem echten Browser (Konsolenfehler, Ausnahmen, fehlende Dateien, optional axe), liefert eine Preview-URL und einenstagingToken;publishArtifactnimmt das schon übertragene Bündel, es wird nur einmal gesendet. Review-Links halten bis zu 7 Tage.Quelle: Eval art-report, getCapabilities
- P-S2Zurück ist immer möglichgemessen
Je Slug bleiben bis zu 5 Versionen,
rollbackArtifactstellt sie her; Patch-Publish undfromSluglassen unveränderte Dateien stehen (Eval art-patch: der Diff zeigt nur index.html).Quelle: getCapabilities, Eval art-patch
- P-S3Selbstkontrolle nach dem Publishgemessen
Der Server prüft Erreichbarkeit (HTTP 200, Content-Type) und Render-Fehler; die sieben artifact-Aufgaben der Evals liefen am 2. Oktober gegen Produktion grün. Live-Reports (E11) rechnen
_data.jsonbeim Abruf aus den Quellen, der Snapshot ist die Deklaration und läuft durch Version und Rollback.Quelle: Eval-Report 2026-10-02, AGENTS.md
- P-S4Die Datenbank im Test ist echtgemessenselbst nachgeprüft
Postgres-Testcontainer, Flyway-Migrationen laufen durch,
ddl-auto=validategleicht jede Spalte samt Typ ab; zwei Guard-Tests halten das fest. Eine kaputte Migration fällt in der Suite auf, nicht erst beim Deploy. Mein Lauf vom 2. Oktober: 2.439 Tests, 0 Fehler, 2 übersprungen.Quelle: AGENTS.md, mvn test -o 2026-10-02
Was kostet
- P-W1Ein leeres PDF gilt als Erfolggemessenselbst nachgeprüft
Der Export (MZP-76) wandelt gespeichertes HTML per pandoc. Bei Bündeln, die im Browser rendern (Slidev, SPA-Hülle), entsteht ein PDF mit leerem
#app— ohne Fehler und ohne Hinweis (MZP-131, IDEA). Der Fix,page.pdfim Render-Dienst, steht als MZP-142 auf READY und ist nicht gezogen. Zusatz aus meinem Lauf: die zwei übersprungenen Tests sind genau die Export-Tests (pandoc fehlt auf diesem Rechner), die Strecke wird hier also nicht geprüft.Quelle: MZP-131, MZP-142, mvn test -o
- P-W2Der Weg ins Netz liegt außerhalb des ReposEinschätzungselbst nachgeprüft
Im Repo liegt keine CI-Konfiguration; der Deploy-Weg steht laut AGENTS.md eine Ebene höher; die Evals nach dem Deploy laufen von Hand (Skill
/mzp-eval, „nicht automatisch, nicht in CI“); nginx-Änderungen müssen einzeln auf dem Server eingespielt werden (Commit-Text: „nginx has to be applied“). Folgen sind dokumentiert: MZP-45 (P0, 29. August: alle öffentlichen Seiten 401 nach einer nginx-Regel), ein Stash mit der nginx-Konfiguration für die Bühne, der am 14. September noch unangewendet lag (MZP-18), ein Build-Befund vom 9. September (alte Klasse im inkrementellen Build,mvn clean packagenötig; aus einer Arbeitsnotiz). Dass nirgends sonst eine CI läuft, kann ich aus dem Repo nicht ausschließen.Quelle: Repo-Wurzel, deployment/, MZP-45, MZP-18-Kommentar
- P-W3Große Bündel gehen durch den ModellkontextEinschätzung
publishArtifactundvalidateArtifactnehmen Inhalt nur inline oder alsfromSlug-Verweis; der REST-Weg verlangt OAuth, das ein MCP-Agent nicht hat. Ein 70-KB-Bündel muss also Zeichen für Zeichen durch den Agenten. Am 2. Oktober ging dabei bei einem Patch-Republish ein einzelner Koordinatenpunkt verloren, aufgefallen nur durch einen Byte-Vergleich (Wettbewerbswerk wer-a-sagt). Ein Einzelfall, aber ein stiller.Quelle: getCapabilities (conventions.rest), Arbeitsnotiz 2026-10-02
- P-W4Unbekannte Pfade melden 502gemessenselbst nachgeprüft
Jeder nicht zugeordnete Pfad an der Wurzel (
/foo,/llms.txt) antwortet 502 mit „Der Dienst ist vorübergehend nicht erreichbar“ statt 404; der nginx-Catch-all zeigt auf einen Upstream, der nicht antwortet. Die llms.txt-Konvention erwartet die Datei an der Wurzel, sie liegt unter/published/llms.txt. Außerdem:/published/mzp-api/mit Schrägstrich antwortet 404, ohne Schrägstrich 200. Das war schon der Anlass von MZP-18 („Web-Root liefert 502 statt 404“). Alles am 2. Oktober live geprüft.Quelle: Live-Proben 2026-10-02, deployment/nginx
Effizienz
Leistung 3,0Beleg 2,5Abstand 0,5
Die schwächste Achse. Gespart wird gezielt bei Beschreibungen und Doppelsendungen, aber gemessen werden nur Aufrufe. Tokens und Zeit fehlen, und die Oberfläche wächst schneller, als sie schrumpft.
Was trägt
- E-S1Wenige Aufrufe je Aufgabegemessen
15 deterministische Aufgaben brauchen 42 Aufrufe (2,8 im Mittel); in der LLM-Stufe liegt der Median bei 2 Aufrufen je Aufgabe (30. September).
Quelle: Eval-Reports 2026-10-02 und 2026-09-30
- E-S2Nichts doppelt sendenEinschätzungselbst nachgeprüft
stagingToken(ein Upload für validate und publish),fromSlug-Verweise, Patch-Publish,queryDiagram(den Graphen befragen, ohne das JSON zu laden) undgetCapabilityFor(Auskunft nach Bedarf) sparen Kontext. Wie viel, ist nicht gemessen; deshalb eine Einschätzung.Quelle: getCapabilities, Tool-Katalog
- E-S3Beschreibungen schrumpfengemessen
Die Beschreibung von
validateDiagramfiel von 7.160 auf 3.780 Zeichen (MZP-127). Die Messung zeigte: A und B sind gleich gut (Sonnet 15/15 beide, Haiku 14/15 gegen 13/15). Beschreibungstext ist in diesem Korpus kein Hebel, Fehlermeldungen sind es — ein nützlicher Befund, weil er Arbeit erspart.Quelle: Band 4 (C1, N1), MZP-127
- E-S4Die Ratschen halten den Bestandgemessenselbst nachgeprüft
Fünf Gates (Dateigröße, Grenzen, Kontexte, Abdeckung, Layout-Qualität). Seit der Baseline vom 3. September wuchs der Code um 56 % und die Tests um 80 %; die Register-Einträge bei der Dateigröße stiegen von 27 auf 30, die bei den Grenzkanten von 59 auf 61, die Abdeckung von 92,0 auf 94,5 %. Das ist die Aufgabe einer Ratsche: Der Bestand wird nicht schlechter, er wird aber auch nicht besser.
Quelle: baseline.md, ratchet/*.txt, mvn test -o
Was kostet
- E-W1Vier Tests brauchen 27 % der Zeitgemessenselbst nachgeprüft
KnowledgeMcpToolsTestbraucht 81 s für 4 von 2.439 Tests, 27 % der summierten Klassenzeit — dieselben 81 s wie in der Baseline vom 3. September. Die Ursache ist seit vier Wochen ungeprüft (MZP-68, IDEA); der Verdacht, fehlende Indizes auf der Abfrage, wäre ein Produktivbefund. Die ganze Suite läuft 5:38 min (Baseline: 3:34 min bei 1.356 Tests). Ausgerechnet der langsamste Test gehört zur Wiki-Abfrage, die als deprecated gilt.Quelle: mvn test -o 2026-10-02 (surefire), baseline.md, MZP-68
- E-W242 Tools, mindestens neun Alt oder Wikigemessenselbst nachgeprüft
getCapabilitiesnennt 42 Tools. Zwei sind als Alias gekennzeichnet (publishRawPage,publishRawPageCompressed), sieben gehören zu Wiki und Templates (knowledgeQuery,lintWiki,mergePageContext,publishPage,getTemplate,listTemplates,extractTemplate); die Zuordnung ist meine. Ihre Beschreibungen umfassen zusammen mindestens 29.700 Zeichen (Annotationstexte, ohne zusammengesetzte Konstanten), die ein Host beim Laden des Katalogs mitnimmt.Quelle: getCapabilities, Quelltext @McpTool (eigene Zählung)
- E-W3Zwei Typen brauchen vier Versuchegemessen
In der LLM-Messung vom 30. September (Haiku 4.5, je 3 Läufe) brauchte dia-quadrant-longlabels in allen Läufen 4 Aufrufe mit je 2 abgelehnten Eingaben, dia-radar-wrapped im Median 4 (2 bis 4). Der Hebel ist laut eigener Auswertung die Fehlermeldung: MZP-134 brachte Mermaid von 13 auf 14 von 15. Ein Modell, drei Läufe: Streuung ist nicht ausgeschlossen.
Quelle: Eval-Report 2026-09-30
- E-W4Kosten werden gezählt, nicht gemessengemessen
Der Eval-Lauf zählt Aufrufe. Millisekunden fehlen („ms ist nicht gemessen, weil der Skill über MCP keine Zeitstempel sieht“), Tokens stehen in keinem Bericht. Ob eine Tool-Diät etwas bringt oder ein Upload-Weg lohnt, lässt sich damit nicht beantworten.
Quelle: Eval-Report 2026-10-02
Fluss. 108 Commits in 14 Tagen, 35 davon am 1. Oktober. Drei Umsetzungen (A4/N7, D2, D3) liefen ohne Ticket in Produktion, zehn Tickets warteten auf REVIEW. Am 2. Oktober sind alle zehn auf DONE und die drei Umsetzungen als MZP-146 bis 148 verbucht — das Muster „gebaut vor verbucht“ ist nachgeholt, nicht verschwunden.
Agent-Usability
Leistung 4,0Beleg 3,5Abstand 0,5
Hier liegt der klarste Vorsprung gegenüber einem gewöhnlichen Publishing-Dienst: Der Server erklärt sich selbst, meldet strukturiert und lässt sich messen. Die Lücken sind die Messbreite und Fehler, die als Erfolg zurückkommen.
Was trägt
- A-S1Auskunft in StufenEinschätzungselbst nachgeprüft
getCapabilitiesliefert die Landkarte in einem festen Byte-Budget; Details holt der Agent bei Bedarf übergetCapabilityFor,lookupStylesundlistCapabilities. Ich habe diesen Weg in dieser Sitzung selbst benutzt und er trägt; eine Zahl dafür gibt es nicht, deshalb Einschätzung.Quelle: getCapabilities, listCapabilities, lookupStyles
- A-S2Fehler zeigen den Weggemessen
Meldungen tragen Code, Schwere und Vorschlag (
INVALID_SLUGmiteval-slug-test); eine unbekannte Mermaid-Syntax nennt die vier Dialekte (MZP-134). Gemessen: Haiku 4.5 stieg von 13 auf 14 von 15, die abgelehnten Eingaben bei dia-architecture-auto halbierten sich (4 auf 2).Quelle: Eval-Report 2026-09-30
- A-S3Gemessen statt behauptetgemessen
MZP-113: 15 Aufgaben gegen Produktion, sechs Läufe seit dem 23. September, grün von 5 auf 15, keine Regression, kein UNEXPECTED_PASS. Die LLM-Stufe misst mit Haiku 4.5 und Sonnet, wie viele Aufrufe ein Agent bis zum Ergebnis braucht. Das ist die Art Beleg, die dem Rest des Hauses fehlt.
Quelle: Eval-Reports 2026-09-23 bis 2026-10-02
- A-S4Mensch und Agent am selben Graphengemessen
Im Chat-Viewer gehen Auswahl, Hotspot-Marker und Layout-Wünsche als ein Kontextbericht an den Agenten, der sie als
constraints[]zurückschickt;queryDiagrambeantwortet „was hängt von db ab?“, ohne das ganze JSON zu laden. Beides ist live und abgenommen (MZP-132, 133, 146).Quelle: MZP-132, MZP-133, MZP-146
Was kostet
- A-W1Die Messung deckt wenig abgemessen
Die LLM-Stufe lief zuletzt am 30. September über fünf Diagramm-Aufgaben mit Haiku (Sonnet am 29.). Für die Artefakt-Aufgaben, edge, ASCII, analog und constraints gibt es keine LLM-Messung; dia-constraints hat nicht einmal einen Nachprüf-Schritt. Ob ein Agent eine ASCII-Skizze ohne Korrekturrunde zeichnet, nennt Band 4 „nicht sicher“ — ungemessen.
Quelle: Eval-Reports 2026-10-02 und 2026-09-30, Band 4
- A-W2Das Gedächtnis wächst nurgemessenselbst nachgeprüft
/published/llms.txthat 89.681 Byte und 444 Einträge, gedacht als schlanker Index; 12 Zeilen tragen „Abnahme“ oder „Wegwerf“ in Name oder Beschreibung. Der Band-4-Bericht ist 94 KB groß, mit vier Abgleichsstempeln im Kopf und drei Empfehlungsständen, von denen zwei „abgelöst“ heißen. Berichte dienen dem Haus als Gedächtnis, und sie werden angehängt statt verdichtet.Quelle: Live-Abruf 2026-10-02 (eigene Zählung)
- A-W3Meldungen, die irreführengemessen
Beobachtungen aus dem Eval vom 2. Oktober: Bei art-broken endet die Fehlermeldung mit dem Hinweis,
renderStrict=falsemelde „ohne ok zu kippen“, obwohlokhier false ist; art-a11y-check liefert denselben Befund doppelt (MISSING_ALTundA11Y_IMAGE_ALT); der Klassenvorschlag nennt Kind-Klassen (mz-stat__label), die in der Namensliste nicht stehen und nur überlookupStyleszu finden sind.Quelle: Eval-Report 2026-10-02, Beobachtungen
- A-W4Ticket und Code passen nicht immergemessenselbst nachgeprüft
Die Regel „Ticket-Key im Kommentar ist die Brücke zum Backlog“ hat Löcher.
git log --grep MZP-100findet zwei Funktionen: 12 Commits zum Rundenpult der Hall of Fame (5. September) und 2 zur Diagramm-Hilfe (12. September), nur Letztere ist das Backlog-Ticket. MZP-18 (angelegt vor 39 Tagen) steht noch auf READY, obwohl die Bühne auf main ist und die Wurzel sie ausliefert. MZP-72 scheint dieselbe Funktion zu beschreiben wie MZP-92 (DONE, 9. September). Zwei Stashes liegen ungenutzt im Arbeitsverzeichnis.Quelle: git log, backlogGet MZP-18/72/92, Live-Probe /
Was die Zahlen sagen
Die Baseline vom 3. September (MZP-66) ist die einzige Messreihe, die das Haus über vier Wochen hat. Die rechte Spalte stammt aus meinem Lauf vom 2. Oktober, soweit nichts anderes dasteht.
| Größe | 3. September | 2. Oktober | Veränderung |
|---|---|---|---|
| Quelltext (main) | 29.323 Zeilen, 278 Dateien | 45.625 Zeilen, 397 Dateien | +56 %, +43 % |
| Testcode | 24.590 Zeilen, 177 Dateien | 42.518 Zeilen, 330 Dateien | +73 %, +86 % |
| Tests | 1.356 | 2.439 (2 übersprungen) | +80 % |
| Laufzeit der Suite | 3:34 min | 5:38 min | +58 % |
| Abdeckung (Instruktionen) | 92,0 % | 94,5 % | +2,5 Punkte |
| Register: Dateigröße, Grenzkanten | 27, 59 | 30, 61 | +3, +2 |
| Layout-Korpus: Kreuzungen, Überlappungen, Knicke | 108, 112, 576 (23.9., vor E3) | 54, 235, 936 | −50 %, +110 %, +63 % |
| Eval-Aufgaben grün | 5 von 6 (23.9.) | 15 von 15 | kein Rückschritt |
| Backlog | nicht erhoben | 105 DONE, 27 offen (3 READY, 1 DOING, 23 IDEA) | |
| Commits | nicht erhoben | 479 seit dem 4. August | 108 in 14 Tagen |
Zwei Lesarten stehen dabei gegeneinander. Die gute: Das Haus ist um die Hälfte gewachsen, ohne dass die Gates reißen, und pro Test läuft die Suite schneller als im September. Die unbequeme: Die Layout-Summen zeigen, dass mehr Aufwand nicht überall mehr Qualität bedeutet. Und die Eval-Reihe, das beste Maß des Hauses, deckt nur einen Teil dessen ab, was gebaut wird.
Was als Nächstes gebaut werden sollte
Die Reihenfolge folgt einer Regel: zuerst, was Agenten stillschweigend falsch liegen lässt, dann was die Messung breiter macht, dann der Glanz. Die Nummern sind eine Rangfolge. Die drei Spuren berühren verschiedene Dateien und können parallel laufen: A den Importer und Export, B den Viewer, C braucht erst eine Entscheidung.
-
Stille Fehler schließen
MZP-135: Eine Kante auf eine Subgraph- oder Zonen-Id wird an die Zone gebunden oder meldet eine Notice, statt einen Phantomknoten anzulegen. Mermaid und ASCII teilen sich das Paket
importer/, die Prüfung gilt für beide. Danach N4 (DRILLDOWN_EDGE_MISSING). Parallel und in Stunden: Der pandoc-Weg meldet einen leeren Rumpf als Notice, statt ein leeres PDF als Erfolg auszugeben; danach MZP-142 (page.pdfim Render-Dienst) ziehen.Warum zuerst: Es sind die belegten Fehler, die ein Agent nicht merken kann. Messgröße: dia-mermaid-flow 3 von 3 mit 7 Knoten; legacy-frontend-migration-playbook liefert ein PDF mit Text.
-
Die Messung auf alle 15 Aufgaben ausdehnen und Kosten mitschreiben
Die LLM-Stufe für die Artefakt-Aufgaben, edge, ASCII, analog-tusche und constraints (diese mit Nachprüf-Schritt), mit Haiku und Sonnet; Tokens und Dauer je Lauf in
results.json. Ohne diese Zahlen bleibt jede Entscheidung über Tool-Diät, Upload-Weg oder Beschreibungstexte ein Bauchgefühl.Messgröße: ein Bericht, der je Aufgabe Erfolg, Aufrufe, Tokens und Zeit nennt.
-
Fehlermeldungen nach dem Mermaid-Muster für quadrant und radar
MZP-134 brachte Mermaid von 13 auf 14 von 15, indem die Meldung die gültigen Dialekte nennt. Die zwei Typen, die in der Messung vier Aufrufe brauchten, sind der nächste Hebel: Die Meldung nennt die gültigen Felder und zeigt ein Minimalbeispiel.
Messgröße: Median von 4 auf 2 Aufrufe bei denselben fünf dia-Aufgaben.
-
Randpfade und Hygiene
Der nginx-Catch-all antwortet 404 statt 502, und
/llms.txtwird an der Wurzel angeboten. Diellms.txtlässt Abnahme- und Wegwerf-Seiten aus und bekommt eine Größe als Ziel. Im Backlog: MZP-18 abschließen oder den Rest benennen, MZP-72 als Duplikat von MZP-92 schließen, MZP-84 und MZP-35 (ohne Rumpf) klären, die sieben Tickets aus dem Wiki- und Wissensbereich (MZP-47, 48, 65, 69, 103, 114, 116) parken. Die zwei Stashes entscheiden und den doppelten Schlüssel MZP-100 im Backlog vermerken.Messgröße:
/fooantwortet 404; die llms.txt liegt unter einer gesetzten Größe. -
MZP-85 ziehen: der Simulationsmodus
Das Glanzstück, weil vier Gründe zusammenfallen. Der Spike MZP-87 ist fertig, Schema (
meta.simulation) und DOM-Vertrag stehen. Es ist reine Viewer-Arbeit ohne Eingriff in Layout oder Router. WebM (A7), Klangspur (D5) und die Schritt-Beschriftung hängen daran. Und die Bewegung läuft von selbst (autoplayMs), Bedienung ist Zugabe.Schritt 1 bleibt der
offset-path-Prototyp gegen atlas-plate-ii-mzone, das einzige Restrisiko; er braucht einen echten Browser. Danach M1, das Blatt zeichnet sich selbst (pathLengthundstroke-dashoffsetstecken schon im Snippet), als verwandter zweiter Schritt, der denselben Aufnahmeweg für WebM nutzen kann. Eine Klangspur würde ich direkt mit Web Audio bauen, statt Tone.js hereinzuholen; das ist eine Einschätzung.Messgröße: atlas-plate-ii-mzone läuft als Engine-Diagramm mit Play, Schritt und Protokoll; reduced-motion lässt Token und Timer weg.
-
Entscheidung: Tool-Profile
Ein Profil nimmt Alias- und Wiki-Tools aus dem Katalog, mindestens 9 von 42. Das berührt den Wiki-Bestand, der als deprecated geführt wird. Ob abgebaut oder nur ausgeblendet wird, ist eine Entscheidung des Auftraggebers und keine Reparatur. Erst nach Punkt 2 sinnvoll, weil sich die Ersparnis sonst nicht in Tokens beziffern lässt.
-
Spike: Upload-Schleuse für große Bündel
Eine kurzlebige, einmalige Upload-URL im Muster von
previewTokenundstagingToken: Ein Agent mit Shell schickt das Bündel per curl und übergibt nur die Kennung anvalidateArtifact. Das spart Kontext und schließt die stille Fehlerquelle „Zeichen für Zeichen durch das Modell“. Offen ist das Sicherheitsmodell (Token, Größe, Lebensdauer), deshalb ein Spike. Der Vorschlag stammt von mir und steht in keinem der bisherigen Berichte. -
Design messbar machen
Zuerst
a11yals Standard auftrue(WARNING, ändertoknicht, kostet bis zu 3 s), dann MZP-140 (Screenreader-Rollen für Analog-Blätter), dann N8 und E1 (visuelles Diff als Review-Beilage, daraus die Pixel-Ratsche), zuletzt MZP-115 (Token-Export). Ziel ist, den Abstand von 1,5 Punkten zwischen Leistung und Beleg auf der Design-Achse zu schließen.
Hebel gegen Aufwand
Dieselben Punkte als Matrix. Der Hebel ist meine Einschätzung aus dem Beleg, den ein Punkt bereits hat, und aus dem, woran er hängt.
- 1Spur A, Ränder
- 5Spur B, Glanz
- 6Spur C, entscheiden
- –bleibt liegen
Was liegen bleibt, und warum
A6 Isometrie ist groß und hat kein Ticket. M3 Plotter-Export lohnt laut Band 5 nur, wenn ein Plotter im Haus steht. M2 svg2roughjs bringt eine zweite Bibliothek mit und hat einen offenen Spike. C5 ist nur ein Dokument. D5 hängt an Punkt 5. K1 ist niedrig priorisiert. Neue Wiki-Funktionen gelten als deprecated. Keine dieser Ideen ist schlecht; keine löst einen Schmerz, der belegt ist.
Wo dieser Bericht irren kann
- Die Wertungen sind Urteile. Leistung, Beleg und Gewicht folgen dem Maßstab oben, sind aber keine Messung. Zwei andere Leser kämen auf andere Halbpunkte; die Reihenfolge der Achsen sollte stabiler sein als die Zahlen.
- Selbst gemessen habe ich die volle Testsuite samt Abdeckung (
mvn test -o, 2. Oktober, main 8ec6013, sauberer Arbeitsbaum), Zählungen im Quelltext (Typen, Skins, Tools, Beschreibungslängen, Register), Live-Proben (Randpfade, llms.txt, Backlog) und die Lesbarkeit des Viewers bei vier Seiten (Chromium, 1280×900). - Übernommen, nicht nachgespielt: alle Eval-Zahlen (ich habe keinen Eval-Lauf gestartet), die Layout-Summen aus dem Register, der Nachweis im echten Claude-Host, die Mutationsquote und die Zahl 41 beim Analog-Ticket. Bei jedem Befund steht die Quelle.
- Nicht gelesen: der Admin-Bereich (hinter Basic-Auth, von außen nicht prüfbar), der Quelltext von mzone-render und mzone-mcp-common und der Deploy-Weg eine Ebene über dem Repo. „Keine CI im Repo“ heißt nicht, dass nirgends eine läuft.
- Das Wiki habe ich bewusst kaum gewichtet, weil es als deprecated geführt wird; es zählt nur dort, wo es Werkzeugfläche und Testzeit kostet.
- Farben: Das Paar Blau und Orange besteht den Palettenvalidator im Hellen vollständig. Im Dunklen liegen beide knapp über dem Helligkeitsband (die Hausfarben sind für Text und Status gedacht); Trennung (ΔE 21,6 bei Rot-Grün-Schwäche) und Kontrast bestehen. Deshalb sind die Flächen nur getönt, die vollen Farben stehen an der Kante und an den Umrissen.
- Zahlen mit Vorbehalt: die Länge der Tool-Beschreibungen ist eine Untergrenze (nur Annotationstexte); die Lesbarkeitsmessung ist eine Stichprobe von vier Seiten bei einem Viewport; die LLM-Messungen haben drei Läufe je Aufgabe und ein Modell, Streuung ist nicht ausgeschlossen.
Quellen
- Band 4: Extravaganzen (Funde A1 bis E2, Nächste Runde N0 bis N10)
- Band 5: Das Handwerk messbar machen (H1 bis H8, B1, M1 bis M3, K1)
- MZP-Eval 2026-10-02, 2026-09-30 und Trend
- Der ehrliche Tausch (Layout-Qualität je Commit)
- Repo:
docs/baseline.md,src/test/resources/ratchet/*.txt,deployment/nginx/,AGENTS.md - Backlog: MZP-18, 45, 66, 68, 72, 76, 85, 87, 92, 100, 113, 115, 126, 127, 131, 133 bis 135, 140, 142, 146 bis 148
- Eigene Läufe am 2. Oktober:
mvn test -o(surefire, jacoco),getCapabilities, Live-Abrufe von/foo,/llms.txt,/published/llms.txt,/published/mzp-api, Browser-Messung von vier Diagrammseiten