38 Datei(en) geändert. Erzeugt von .vault-tools/auto-push/werkzeuge_spiegel.py.
8.3 KiB
type, title, status, modell, summary, tags, created, updated
| type | title | status | modell | summary | tags | created | updated | ||
|---|---|---|---|---|---|---|---|---|---|
| plan | Task 02: Haiku für Werkzeug-Hilfsagenten, deren Ausgabe nur das Skript liest | active | sonnet | In quorum.js, plankritik.js und welle-mit-pruefung.js laufen Hilfsagenten, deren Ausgabe nur das Skript liest, auf haiku; Hilfsagenten, deren Rohausgabe an Opus geht, bleiben auf sonnet. Veraltete Haiku-Kommentare in quorum.js und executer-welle.js berichtigen, Fälle und Mutanten nachziehen. |
|
2026-10-30 | 2026-10-30 |
Übersicht: 00-uebersicht.md
Task 02: Haiku für Werkzeug-Hilfsagenten
Ziel und Grenzen
Zieldateien, sonst keine:
D:/Claude/.claude/workflows/quorum.jsD:/Claude/.claude/workflows/plankritik.jsD:/Claude/.claude/workflows/welle-mit-pruefung.jsD:/Claude/.claude/workflows/executer-welle.jsD:/Claude/.vault-tools/workflow-pruefung/faelle_workflows.mjsD:/Claude/.vault-tools/workflow-pruefung/mutanten_workflows.py
Verboten: jede andere Datei, besonders CLAUDE.md und AI/Regelwerk/* (eine andere Sitzung bearbeitet sie gerade); committen; einen Workflow über das Workflow-Werkzeug starten; sed oder globales Ersetzen – nur das Edit-Werkzeug mit eindeutigen Stellen. Die .js-Dateien tragen LF und müssen es behalten. Kein Verhalten außer dem Modell ändern.
Regel, nach der entschieden ist (Prüferurteil S-17, Workflow-Review 2026-10-30): model: 'haiku' nur für Hilfsagenten, deren Ausgabe ausschließlich das Skript liest. Geht die Rohausgabe wörtlich an einen Opus-Agenten (Linse, pruefer), bleibt sonnet. effort: 'low' bleibt überall.
| Datei | Label | Modell neu | Grund |
|---|---|---|---|
| quorum.js | werkzeug:paket |
haiku | lesePaket() liest nur QUORUM_PAKET und EXIT |
| quorum.js | codex:start, codex:warten:<n>, codex:abbruch |
haiku | das Skript liest nur EXIT-Zeilen, jobId, waitTimedOut |
| quorum.js | codex:ende |
haiku | Felder gehen an codexUngueltig() und als Befunde in den Bericht |
| quorum.js | zusammenfuehren |
bleibt sonnet, medium | urteilt, überträgt nicht |
| plankritik.js | werkzeug:kopie |
haiku | kopieAusLauf() liest nur KOPIE= und die Blockzählung |
| plankritik.js | werkzeug:planwerkzeuge, werkzeug:mutanten |
bleibt sonnet | Rohausgabe geht wörtlich an die Linsen |
| welle-mit-pruefung.js | werkzeug:kopie |
haiku | das Skript liest KOPIE= und die Blockzählung; Rückgabe an den Koordinator, nicht an den pruefer |
| welle-mit-pruefung.js | werkzeug:vergleich |
bleibt sonnet | Rohausgabe geht als schwerpunkt an den pruefer |
Änderungen im Code
- quorum.js: In
werkzeugAgentmodel: 'sonnet'→model: 'haiku'(alle Aufrufer stehen oben in der Tabelle auf haiku). Imagent()-Aufruf mitlabel: 'codex:ende'ebenso.zusammenfuehrenundnachpruefungnicht anfassen. - plankritik.js:
werkzeugAgent(label, phase, befehl, zweck, zusatz)bekommt einen sechsten Parametermodell = 'sonnet'und setztmodel: modell. Nur der Aufruf'werkzeug:kopie'übergibt'haiku'(alszusatzdann''). - welle-mit-pruefung.js:
werkzeugAgent(label, phase, befehl, zweck)bekommt einen fünften Parametermodell = 'sonnet'und setztmodel: modell. Nur der Aufruf'werkzeug:kopie'übergibt'haiku'. - executer-welle.js: Verhalten bleibt. Nur Text:
- Zeile 12
// Haiku kennt keinen Effort.ersetzen durch// Bei haiku verwirft effortFuer() einen Task-Effort; es gilt das medium aus dem Frontmatter, das Haiku 5.5 auch erhält (AI/Regelwerk/haiku-5-5.md, A1 und A7). - Logzeile in
effortFuer:`${t.datei}: effort ${t.effort} bei haiku wirkungslos, nicht gesetzt`ersetzen durch`${t.datei}: effort ${t.effort} bei haiku nicht gesetzt, es gilt das medium aus dem Frontmatter des executer`.
- Zeile 12
Änderungen an Kommentaren
- quorum.js, Kopfkommentar „Paket:“ –
Hilfsagent (sonnet, low)→Hilfsagent (haiku, low). - quorum.js, Zeilen 35 und 36 – die zwei Zeilen ab
// - Die Codex-Hilfsagenten laufen auf sonnet mit lowersetzen durch genau diese drei:
// - Die Hilfsagenten für Paket und Codex laufen auf haiku mit low: feste Befehle, das Skript liest nur
// Marken und Felder. Haiku 4.5 ersetzte typografische Zeichen still; Haiku 5.5 hielt sie in 6 von 6
// Läufen (AI/Regelwerk/haiku-5-5.md, A3). codex:ende überträgt Befundtexte, der Byte-Vergleich fehlt dort.
- plankritik.js, Kopfkommentar – hinter
// gleich treu wie high bei mechanischer Arbeit, codeworkflow.md "Effort je Rolle").diese zwei Zeilen einfügen:
// Modell: werkzeug:kopie läuft auf haiku, weil nur kopieAusLauf() die Ausgabe liest. Planwerkzeuge und
// Mutantenlauf bleiben auf sonnet: ihre Rohausgabe geht wörtlich an die Linsen.
- welle-mit-pruefung.js, Kopfkommentar – hinter der Zeile
// und die laufen nacheinander; die Obergrenze von zwei hält executer-welle selbst.und vor// Verbrauch:diese zwei Zeilen einfügen:
// Modell: werkzeug:kopie läuft auf haiku, weil nur das Skript die Ausgabe liest. werkzeug:vergleich
// bleibt auf sonnet: seine Rohausgabe geht an den pruefer.
Die Beschreibungen in meta (description, phases) nennen bei quorum.js „Codex über Hilfsagenten“; das bleibt.
Fälle in faelle_workflows.mjs
Bestehende Erwartungen, die jetzt falsch sind, an die Tabelle anpassen (Grep nach 'sonnet' bei den Labels werkzeug:paket und codex:, etwa Zeilen 1190 und 1201). Dazu neue Fälle, die das Modell je Label festnageln:
- quorum: Grundlinienlauf mit Codex –
werkzeug:paket, jedescodex:-Label einschließlichcodex:endehatmodell === 'haiku',effort === 'low', keinagentType;zusammenfuehrensonnet/medium. - quorum: Lauf, in dem Codex abgebrochen wird (vorhandene Antwortvorgaben für Warten ohne Ende nutzen) –
codex:abbruchisthaiku/low. - plankritik: Lauf mit
materialisierenund Mutanten an –werkzeug:kopiehaiku/low,werkzeug:planwerkzeugeundwerkzeug:mutantensonnet/low. - welle-mit-pruefung: Lauf ohne
kopie, mitohneundsuite–werkzeug:kopiehaiku/low,werkzeug:vergleichsonnet/low.
Ein neuer Fall braucht einen Rotlauf (.vault-tools/workflow-pruefung/LIESMICH.md, Ablauf 2): Lege mit mktemp -d einen Ordner an, schreibe die vier geänderten Workflows im Stand von git -C D:/Claude show HEAD:.claude/workflows/<datei> hinein und kopiere die übrigen .js aus D:/Claude/.claude/workflows/ dazu. Fahre node D:/Claude/.vault-tools/workflow-pruefung/faelle_workflows.mjs <ordner>: Die neuen und geänderten Fälle müssen dort scheitern, alle übrigen grün bleiben.
Mutanten in mutanten_workflows.py
Je Datei einen Mutanten in MUTANTEN ergänzen, der genau ein Modell zurückdreht, im Format der vorhandenen Einträge (Ersetzung muss genau einmal vorkommen):
- quorum:
codex:endezurück aufsonnet - plankritik: Aufruf
werkzeug:kopieübergibt'sonnet'statt'haiku' - plankritik: Vorgabe
modell = 'sonnet'→modell = 'haiku'(Planwerkzeuge und Mutantenlauf kippen) - welle-mit-pruefung: Aufruf
werkzeug:kopieübergibt'sonnet' - welle-mit-pruefung: Vorgabe
modell = 'sonnet'→modell = 'haiku' - quorum:
model: 'haiku'inwerkzeugAgent→'sonnet'
Den vollen Mutantenlauf fährst du nicht (knapp 50 Minuten); das macht der Koordinator. Prüfe nur, dass jede neue Ersetzung genau einmal vorkommt: grep -c je Muster in der Zieldatei, Ausgabe in den Bericht.
Prüfen
# Alle Fälle gegen die geänderten Workflows, Exit 0 erwartet
node D:/Claude/.vault-tools/workflow-pruefung/faelle_workflows.mjs
# Kein CR in den .js-Dateien (je 0)
for f in quorum plankritik welle-mit-pruefung executer-welle; do printf '%s ' $f; tr -cd '\r' < D:/Claude/.claude/workflows/$f.js | wc -c; done
# Modellstellen nachlesen
grep -n "model: \|modell = \|'haiku')" D:/Claude/.claude/workflows/quorum.js D:/Claude/.claude/workflows/plankritik.js D:/Claude/.claude/workflows/welle-mit-pruefung.js
# Mutanten-Datei kompiliert
python -I -X utf8 -m py_compile D:/Claude/.vault-tools/workflow-pruefung/mutanten_workflows.py
Berichte: Zahl der Fälle vor und nach der Änderung, Ergebnis, Rotlauf mit Zahl und Namen der dort gescheiterten Fälle, die grep -c-Werte der neuen Mutanten, git -C D:/Claude diff --stat -- .claude/workflows .vault-tools/workflow-pruefung, und jede Abweichung von diesem Task.