{"asOf":"2026-10-07","items":[
{"id":"S01","name":"Ratschenzahn mit Begründungspflicht","kat":"Goldstück","rang":"Gold","herkunft":"Bestand","fundort":"src/test/resources/ratchet/*.txt, fünf Gates","warum":"Eine Ratsche bricht auch beim Schrumpfen, damit das Register mit dem Bestand kleiner wird. Jede Ausnahme trägt ihre Begründung in derselben Zeile, ohne Begründung fällt schon der Parser durch. Die Gates halten den Bestand, statt ihn zu verbessern.","ausbau":"Den Verlauf der Registerwerte als Zeitreihe in die Ratschen-Stadt legen.","beleg":"AGENTS.md (Abschnitt Ratschen), docs/baseline.md"},
{"id":"S02","name":"Stille-Fehler-Prüfung außerhalb des Servers","kat":"Goldstück","rang":"Gold","herkunft":"Bestand","fundort":"docs/agent-workflows/evals/README.md, Abschnitt silent","warum":"textInsideViewBox läuft lokal in Headless-Chromium, nicht über MZP, denn der Server darf sich nicht selbst kontrollieren. Eine Prüfung, die nicht laufen kann, gilt als nicht sauber: ein Messgerät, das nicht misst, darf nicht grün melden.","ausbau":"Weitere stille Prüfungen: Text-Kontrast, Überdeckung von Beschriftungen.","beleg":"Entstanden aus Befund B3 (visualProof sieht keinen Text-Überlauf), 2026-09-23"},
{"id":"S03","name":"Chat-Viewer über MCP Apps","kat":"Goldstück","rang":"Gold","herkunft":"Bestand","fundort":"ui://mzp/diagram-viewer, chat-bridge.js, Tool getDiagramChatView","warum":"Der interaktive Diagramm-Viewer rendert im Chat. Die Daten holt die Brücke über ein App-only-Tool, nie über das Tool-Ergebnis, also nie durch den Modellkontext. Hotspot-Marker und Layout-Wünsche per Geste (constraints[]) laufen über denselben Kanal.","ausbau":"Kopier-Knöpfe im Chat-Widget, falls sie je gebraucht werden.","beleg":"Im echten Claude-Host nachgewiesen (MZP-126, MZP-128, MZP-132)"},
{"id":"S04","name":"Wettbewerb: Aus Rauschen wird Ordnung","kat":"Extravaganz","rang":"Gold","herkunft":"Bestand","fundort":"/published/wettbewerb-noise-to-order-de/, docs/wettbewerb-ideen.md","warum":"Agenten reichen Werke ein (Qwen 3.7 Plus, Opus 5.5, Sonnet 5.5), ein Ideenregister hält je Abgabe die Regel fest, aus der die Ordnung folgt. Dieselbe Regel in neuem Anstrich gilt als vergeben. Die Feedback-Spalte der Jury bleibt absichtlich unter Verschluss, damit die nächste Runde die vorige nicht nachbaut. Beispiel: Gradientenabstieg auf der Plomp-Levelt-Rauigkeit.","ausbau":"Nächste Runde; das Regel-Register als Werkzeug, das Duplikate erkennt.","beleg":"Drei Abgaben am 2026-10-01 und 2026-10-02 im Register"},
{"id":"S05","name":"Tuschestrich in Java statt Bibliothek","kat":"Extravaganz","rang":"Gold","herkunft":"Bestand","fundort":"analog@1.2.0, data-tusche, Notice TUSCHE_APPLIED","warum":"Die Kontur eines Handzeichen-Blatts rechnet der Server beim Validieren und Publizieren selbst. Der Handkreis ist reines CSS. Keine neue Abhängigkeit, obwohl der Recherche-Bericht perfect-freehand als Kandidaten nannte.","ausbau":"Strichstärken je Baustein, Tusche auch für Diagramm-Typen mit meta.sketch.","beleg":"MZP-147; Eval art-analog-tusche grün (2026-10-06)"},
{"id":"S06","name":"Ratschen-Stadt","kat":"Extravaganz","rang":"Silber","herkunft":"Bestand","fundort":"/admin/ratschen, priv-ratschen-stadt, scripts/ratchet-city.py","warum":"Die Ratschen als begehbare 3D-Stadt (three@0.170.0). Bewusst ein Schnappschuss und keine Live-Quelle, damit Register-Interna privat bleiben.","ausbau":"Live-Quelle hinter der Admin-Auth, Zeitreise über die Eval-Historie.","beleg":"MZP-144 (REVIEW). Im Admin-Bereich hinter nginx-Basic-Auth, nicht von außen prüfbar"},
{"id":"S07","name":"Lebende Reports: _data.json ist keine Datei","kat":"Extravaganz","rang":"Silber","herkunft":"Bestand","fundort":"application/support/livedata/, publishArtifact(liveData)","warum":"Die Datei wird beim Abruf aus den Quellen gerechnet, die der Snapshot desselben Bundles nennt. Der Snapshot ist die Deklaration und läuft durch Version und Rollback. Neue Quellen liefern nur Zahlen, Enums und Zeitstempel, LiveDataShapeTest hält die Grenze.","ausbau":"Mehr Quellen (Eval-Gate, Backlog-Zähler) als Zahlen-Kacheln.","beleg":"E11; Eval art-live-report grün"},
{"id":"S08","name":"Das Layout-Register als Logbuch","kat":"Kuriosität","rang":"Silber","herkunft":"Bestand","fundort":"src/test/resources/ratchet/layout-quality.txt","warum":"Die Begründungszeilen erzählen ehrliche Tauschgeschäfte samt verworfener Varianten: Überlappungen stiegen von 112 auf 269, um null TRANSIT_NOT_DASHED-Fehler zu erreichen, und fielen mit dem Nudging und der Port-Reihenfolge auf 188. Ein Register, das wie ein Schiffstagebuch gelesen werden kann.","ausbau":"Als Zeitleiste im Ratschen-Admin zeigen.","beleg":"MZP-129, MZP-157-Nachtrag"},
{"id":"S09","name":"UNEXPECTED_PASS","kat":"Kuriosität","rang":"Silber","herkunft":"Bestand","fundort":"docs/agent-workflows/evals/README.md, Abschnitt Bewertung","warum":"Ein Eval-Status, der meldet, dass ein bekannter Mangel behoben ist. Er bricht das Gate nicht, steht aber ganz oben im Report: der knownIssue-Marker muss raus, sonst maskiert er den nächsten Rückfall als gelb.","ausbau":"","beleg":"Beim Lauf vom 2026-09-23 viermal aufgetreten"},
{"id":"S10","name":"Der Eval-Wächter-Hook","kat":"Extravaganz","rang":"Silber","herkunft":"Bestand","fundort":"docs/agent-workflows/evals/guard_hook.py","warum":"Agenten im LLM-Lauf sehen nur ToolSearch und die MZP-Tools. Ein PreToolUse-Hook erlaubt Schreiben nur auf eval-Slugs, die Abschottung wird bei jedem Lauf am init-Ereignis nachgeprüft, ein Verstoß macht den Lauf INVALID statt falsch.","ausbau":"","beleg":"Gegen Claude Code 2.1.280 am 2026-09-23 nachgewiesen"},
{"id":"S11","name":"45 Diagrammtypen, darunter Wardley, Fishbone, Story-Map","kat":"Extravaganz","rang":"Silber","herkunft":"Bestand","fundort":"application/support/diagram/types/","warum":"Das Vorbild diagram-design hat 27 Typen. MZP kommt mit 18 weiteren (C4, Kanban, Sankey, Treemap, Polar, Wardley, Fishbone, Story-Map, UML-Klasse, Journey …) und zeichnet alle serverseitig mit demselben Auto-Layout.","ausbau":"Consultant-2×2 mit benannten Zellen (MZP-169).","beleg":"Vergleichsseite mzp-vs-diagram-design, Stand 2026-10-04"},
{"id":"S12","name":"Keycloak-Kreislauf in elf Skins","kat":"Kuriosität","rang":"Kuriosum","herkunft":"Bestand","fundort":"/published/keycloak-oauth-kreislauf-*","warum":"Dasselbe Diagramm elfmal, je in einem Skin (dark, gematik, journal, quiet, signal, terminal, blueprint, kontrast, full-editorial, custom und der Basis). Nebenbei die einzige Skin-Galerie des MZP.","ausbau":"Zu einer Typ-und-Skin-Galerie ausbauen (die Vergleichsseite markiert sie als Lücke).","beleg":"Seitenliste vom 2026-10-07 (nach Titel, Inhalt nicht geöffnet)"},
{"id":"S13","name":"Das Geisterwiki","kat":"Kuriosität","rang":"Kuriosum","herkunft":"Bestand","fundort":"wiki-*-Seiten, MZP-151","warum":"Das Wiki ist abgebaut, seine Tools, Ressourcen und Admin-Seiten sind weg. Die wiki-Seiten (auch die ADRs) werden trotzdem als normale Seiten ausgeliefert, Tabellen und Spalten blieben unangetastet. Die Architektur-Begründung des Repos lebt dort weiter.","ausbau":"","beleg":"AGENTS.md, Abschnitt Fallstricke"},
{"id":"S14","name":"Messfehler, den die Gegenprobe fing","kat":"Kuriosität","rang":"Kuriosum","herkunft":"Bestand","fundort":"docs/baseline.md","warum":"Der erste Messlauf lieferte 60 statt 62 Kanten, weil zwei Wildcard-Importe dem Regex entgingen, ausgerechnet die breiteste Form der Abhängigkeit. Beim Kontext-Zähler zählte der Regex ein Javadoc-@code als Annotation. Zwei Vermutungen der Spec scheiterten am Lesen der Klassen, bevor sie ins Register kamen.","ausbau":"","beleg":"Gemessen 2026-09-03 (MZP-66)"},
{"id":"S15","name":"Kontrastfehler im eigenen Design-System","kat":"Kuriosität","rang":"Kuriosum","herkunft":"Bestand","fundort":"mzone-ui@1.8.0, mz-pill--warn","warum":"Der Publisher prüft fremde Seiten mit axe-core. Auf dieser Bestandsaufnahme meldete er selbst einen Kontrastfehler an der Warn-Pille von mzone-ui (2 Elemente, impact serious). Das System fängt den Fehler im eigenen Baukasten.","ausbau":"Pillen-Farben in mzone-ui 1.8.1 korrigieren, Kontrastprüfung aller mz-pill-Varianten als Test.","beleg":"publishArtifact a11y=true auf mzp-staerken-schwaechen-2026-10-07, 2026-10-07"},
{"id":"K01","name":"Isometrische Skin (FossFLOW, isoflow)","kat":"Extravaganz","rang":"Silber","herkunft":"Kandidat","fundort":"DiagramVariant, DiagramSkinCss","warum":"Architektur-Diagramme in Isometrie als weitere Variante neben quiet, signal und blueprint. Eine Extravaganz mit Wiedererkennungswert.","ausbau":"Spike mit einem Typ (architecture), danach Skin-Familie.","beleg":"Recherche Band 4, Fund A6, Stand 2026-10-02. Im Backlog vom 2026-10-07 kein Ticket"},
{"id":"K02","name":"Klangspur für den Simulationsmodus (Tone.js)","kat":"Extravaganz","rang":"Silber","herkunft":"Kandidat","fundort":"MZP-85 (READY)","warum":"Das skriptgesteuerte Abspielen eines Diagramms bekäme eine Tonspur: jeder Schritt klingt, ein Fehlerpfad klingt anders. Passt zu den Klang-Seiten im Bestand.","ausbau":"Erst MZP-85 ziehen, die Klangspur ist danach ein Aufsatz.","beleg":"Recherche Band 4, Fund D5. MZP-85 laut Backlog vom 2026-10-07 READY, nicht gezogen"},
{"id":"K03","name":"WebM und Share-Card aus dem Diagramm","kat":"Goldstück","rang":"Silber","herkunft":"Kandidat","fundort":"MZP-56 (IDEA), Render-Dienst mzone-render","warum":"Ein Diagramm als kurzes Video und als Karte 1200×630 für Social. Der Render-Dienst existiert, ein Sidecar ist erlaubt.","ausbau":"Share-Card zuerst (ein Screenshot), WebM nach MZP-85.","beleg":"Recherche Band 4, Fund A7. MZP-56 laut Backlog vom 2026-10-07 IDEA, P3"},
{"id":"K04","name":"Pixel-Baseline als sechstes Gate","kat":"Goldstück","rang":"Silber","herkunft":"Kandidat","fundort":"LayoutQualityRatchetTest, mzone-render","warum":"Eine Bildabweichung (pixelmatch, odiff) hätte die Optik gemessen, wo die Layout-Gates nur Geometrie zählen. Das schließt den blinden Fleck der Design-Achse im Gate-Bestand.","ausbau":"Zehn Referenzdiagramme, Schwelle als Registerzeile mit Begründung.","beleg":"Recherche Band 4, Fund E1, Stand 2026-10-02. Im Backlog vom 2026-10-07 kein Ticket"},
{"id":"K05","name":"Review-Anmerkungen, die beim Agenten ankommen","kat":"Goldstück","rang":"Silber","herkunft":"Kandidat","fundort":"ReviewPreviewStore, Review-Links (R13)","warum":"Anmerkungen am Bild (Annotorious-Muster) kämen als strukturierte Hinweise von Reviewern zurück zum Agenten, statt nur im Gespräch.","ausbau":"Erst als reine Textanmerkung je Knoten-ID, dann frei auf dem Bild.","beleg":"Recherche Band 4, Fund C3, Stand 2026-10-02. Im Backlog vom 2026-10-07 kein Ticket"},
{"id":"K06","name":"draw.io-Import","kat":"Goldstück","rang":"Gold","herkunft":"Kandidat","fundort":"Eingabeformen der Diagramm-Engine","warum":"Die größte Funktionslücke gegen diagram-design. Mermaid, ASCII und Skizze gibt es, draw.io nicht.","ausbau":"Ein Ticket anlegen; IR-Weg wie beim Mermaid-Paket.","beleg":"Vergleichsseite mzp-vs-diagram-design: größte Lücke, kein Ticket (Stand 2026-10-04)"},
{"id":"K07","name":"Kompaktmodus für Listen-Tools","kat":"Goldstück","rang":"Gold","herkunft":"Kandidat","fundort":"listPublishedPages, searchPages, backlogQuery","warum":"Ein fields- oder compact-Schalter, wie publishArtifact ihn kennt. Am 2026-10-07 sprengten 200 Seiten (65 000 Zeichen) und 60 Tickets (52 000 Zeichen) das Token-Limit des Clients. Kleinster Eingriff mit größtem Effekt der Bestandsaufnahme.","ausbau":"Zuerst listPublishedPages mit fields=slug,title,status.","beleg":"Neu aus der Bestandsaufnahme 2026-10-07, live reproduziert"}
]}
