Files
claude-regelwerk/.vault-tools/quorum/LIESMICH.md
T
Pascal MichelandClaude Opus 5.5 612cd7fb54 Quorum: Task 06 (Freitext im Bericht entschaerft), Grund nennt blockierende ohne Beleg, Abschluss
quorum.js: klartext() schreibt Wikilinks, Einbettungen und Tags aus Freitext als Klartext
(Fund aus dem ersten echten Lauf); der Grund eines freien Urteils nennt blockierende Befunde
ohne Beleg. faelle_workflows.mjs 248 Faelle gruen, mutanten_workflows.py 145 Mutanten,
0 ueberlebt. codeworkflow.md: Regel zum Befund ohne Beleg und Ablageort beim Kundendokument
praezisiert, Vermerk 'noch nicht abgenommen' entfernt. LIESMICH.md fuer .vault-tools/quorum/.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 06:36:34 +02:00

60 lines
3.8 KiB
Markdown
Raw 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.
- `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.