Files
Pascal MichelandClaude Opus 5.5 eec993d171 Quorum-LIESMICH: Zusammenfassung der suite_datei ans Ende, die Stimmen sehen nur die letzten 80 Zeilen
Beleg: Trading Plattform, Quorum 6 am 2026-10-13. Die Zusammenfassung stand oben, die letzten
80 Zeilen zeigten nur Vault-Treiber und Registry-Gegenprobe; alle drei Stimmen meldeten die
pytest-Summe als nicht pruefbar.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_0126RDfXiECscXipzf67uypJ
2026-10-13 12:37:38 +02:00

61 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
type: guide
title: "Quorum am Meilenstein – Werkzeug und Ablauf"
status: active
summary: "Wie das Quorum gestartet, der Bericht abgelegt und das Werkzeug geprüft wird, dazu was der erste echte Lauf belegt hat."
tags: [vault-tools, codeworkflow]
created: 2026-10-05
updated: 2026-10-05
---
# Quorum am Meilenstein
Prüft vor dem Einspielen, vor einer neuen Minor- oder Major-Version auf master und vor der Abgabe eines Kundendokuments denselben Unterschied mit drei Stimmen: Opus, Sonnet und Codex, als Ersatz Haiku. Die Regel steht in `AI/Regelwerk/codeworkflow.md`, Abschnitt „Quorum am Meilenstein“. Hier steht nur die Bedienung.
## Starten
```text
# Code-Projekt, erstes Quorum dort: basis ist der Commit der letzten abgenommenen Version
workflow({ scriptPath: "D:/Claude/.claude/workflows/quorum.js" }, { anlass: "einspielen", projekt: "<Repo-Wurzel>", basis: "<commit>", suite_datei: "<datei mit Suite-Ausgabe>" })
# Kundendokument: Ordner im Vault, Dateien relativ dazu, Übersicht des Projekts
workflow({ scriptPath: "D:/Claude/.claude/workflows/quorum.js" }, { anlass: "kundendokument", ordner: "D:/Claude/<ordner>", dateien: ["<datei>", "..."], uebersicht: "<_MOC-datei>.md" })
```
- Der Arbeitsbaum muss außerhalb von `docs/quorum/` sauber sein.
- `suite` nur für eine Suite, die in neun Minuten durchläuft und nichts Unversioniertes schreibt; sonst die Suite selbst fahren und `suite_datei` nennen.
- Aus `suite_datei` sehen die Stimmen nur die letzten 80 Zeilen (`SUITE_ZEILEN`) und die letzte Zeile `EXIT suite: N`. Die Zusammenfassung aller Messungen steht deshalb am Ende, direkt vor der `EXIT`-Zeile. Stand sie oben, meldeten alle drei Stimmen die Summe der Suite als nicht prüfbar (Trading Plattform, Quorum 6 am 2026-10-13).
- `codex: false` setzt sofort Haiku ein, etwa wenn das Codex-Kontingent bekannt aufgebraucht ist.
## Bericht ablegen
```bash
# bericht_md aus dem Ergebnis als bericht.md in den Ordner paket schreiben, dann:
PYTHONIOENCODING=utf-8 python -X utf8 .vault-tools/quorum/quorum_werkzeug.py ablegen --paket <paket> --bericht <paket>/bericht.md --ziel <bericht_pfad> --summe <hex>
```
- Den fertigen Befehl liefert das Ergebnis als `ablegen_befehl`. Er setzt `stand` aus `paket.json` ein, damit kein Modell die Liste der Prüfsummen abschreibt.
- Danach den Bericht im Projekt committen.
## Prüfen
```bash
# Werkzeug: Fälle und Mutanten
python .vault-tools/quorum/faelle_quorum_werkzeug.py
python .vault-tools/quorum/mutanten_quorum_werkzeug.py
# Workflow: Fälle und Mutanten über die Attrappe (Mutantenlauf über 30 Minuten, im Hintergrund mit ausreichendem Zeitlimit starten)
node .vault-tools/workflow-pruefung/faelle_workflows.mjs
python .vault-tools/workflow-pruefung/mutanten_workflows.py
```
## Was belegt ist
- **Erster echter Lauf am 2026-09-30, Anlass einspielen, in einem Code-Projekt des Vaults:**
- Alle drei Stimmen haben gültig abgegeben, Codex nach 1 min 52 s, mit Lesebeleg.
- Urteil frei. Bestätigte Befunde je Stimme: Opus 3, Sonnet 2, Codex 3. Alleinfunde: Opus 2, Sonnet 1, Codex 3 (Tabelle „Stimmen“ im Bericht).
- `ablegen` hat den Stand als Commit eingesetzt, der Bericht verlinkt sein README.
- Der Verbrauch blieb im Rahmen der Ablesung (5 Stunden 6 %, Woche 77 % vorher und nachher).
- **Fund aus diesem Lauf:** Freitext der Stimmen hat im Bericht lebendige Wikilinks erzeugt. Seit Task 06 schreibt `quorum.js` Wikilinks, Einbettungen und Tags aus Freitext als Klartext mit Backslash.
- **Bekannte Grenzen (Prüfung vom 2026-10-05, klein):** `zeilen()` liest bei Aufzählungen nur die erste Zahl („Zeilen 72 und 134“ wird 72) und kennt Formen wie „Zeile 10 bis Zeile 14“ oder einen Geviertstrich nicht; eine zu breite Gruppe des Zusammenführ-Agenten kann so eine Mehrheit kosten. `pfadnorm()` entfernt keinen führenden Schrägstrich. `klartext()` setzt den Backslash auch vor `#` in HTML-Entitäten und URL-Fragmenten und lässt `%%…%%`, `<!--` und Code-Zäune in mehrzeiligen Belegen stehen.
- **Nicht gemessen:** die Laufzeit der Claude-Stimmen, weil das Laufzeitsystem keine Uhr hat. Ob Obsidian `\[\[x]]` und `\#tag` in jeder Ansicht als Text zeigt, ist nicht in der App geprüft.