L2 sieht auf Claude Code keine Tool-Calls: .claude/settings.json verdrahtet nur UserPromptSubmit
#82
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Befund
Der primaere Harness dieser Instanz ist Claude Code (
ENVIRONMENT.md§ Harness). Genau dort liefert die Telemetrie keine Tool-Calls in die Trace..claude/settings.jsonhaengt genau einen Hook ein:UserPromptSubmit → prompt.submitted. KeinPreToolUse, keinPostToolUse.settings.local.jsonenthaelt nur Permissions, keine Hooks..github/hooks/wiki-trace.json(preToolUse/postToolUse) und Mistral Vibe ueber.vibe/hooks.toml(pre_tool/post_tool).tools/trace_ingest.py:90-110normalisierttool_name,tool_input,tool_output,file_path;trace_ingest.py:176-179legttool_inputals JSON-String ab. Belegt intools/chemenu/tests/test_trace_ingest.py:83-86, 106-107.EVALS.md:113undEVALS.md:428nennen Claude Code selbst "partial" - der Zustand ist also dokumentiert, aber nicht als Absicht begruendet.Ergebnis: die Sitzungen, die auf dem Hauptharness laufen, produzieren Traces ohne den groessten Teil dessen, was in ihnen passiert ist. Die fuenf L2-Trajectory-Regeln lesen ohnehin nur
wikitool.call,gate.*,publish.commitundprompt.submitted(tools/chemenu/evals/trajectory.py:96-99, 128-134, 173-181, 217-230, 249-252), fallen also heute nicht darueber - aber jede kuenftige Regel ueber Agentenverhalten waere auf dem Hauptharness blind.Warum das nicht schon entschieden ist
EVALS.md:124-131traegt eine Begruendung gegenPreToolUse- sie betrifft aber ausdruecklich nur den Entscheidungs-Hook (permissionDecisionschlaegtpermissions.allownicht durch). Ein rein beobachtender Hook ist davon nicht erfasst und im Repo durch nichts ausgeschlossen. Ob die Auslassung Absicht oder Luecke ist, geht aus dem Text nicht hervor; das ist der erste Teil der Arbeit.Zwei kleinere Nebenfunde am selben Ort
instructions.loadedsteht im Event-Vokabular (tools/chemenu/telemetry/schema.py:53) und im Mapping (tools/trace_ingest.py:50,InstructionsLoaded), wird aber nirgends verdrahtet. Das waere der einzige Kanal, der ueber harness-internes Laden (SKILL.md-Body,@-Importe aus CLAUDE.md) etwas sagen koennte. Ob Claude Code so einen Hook heute ueberhaupt liefert, ist im Repo nur behauptet (EVALS.md:106) und nicht belegt.page.writtensteht ebenfalls im Vokabular (telemetry/schema.py:56) und wird nirgends emittiert.Was zu tun ist
EVALS.mdfesthalten, ob der beobachtende Tool-Hook auf Claude Code gewollt ist oder bisher nur fehlte - die bestehendePreToolUse-Notiz auf den Entscheidungs-Hook eingrenzen, damit sie nicht weiter als Begruendung fuer beides gelesen wird..claude/settings.jsonverdrahten, analog zu.github/hooks/wiki-trace.json. Geschaetzt ~15 Zeilen JSON, kein neuer Code.instructions.loaded,page.written) entscheiden: verdrahten oder aus dem Vokabular nehmen. Ein Event, das nie emittiert wird, ist ein Versprechen, das kein Scorer einloesen kann.Ausdruecklich nicht Teil dieses Issues: eine neue Trajectory-Regel ueber Read-Vollstaendigkeit.
tools/chemenu/evals/trajectory.py:9-14undEVALS.md:324-328verlangen, dass eine reale Trace einen realen Fehlschlag zeigt, bevor eine Regel entsteht. Hier geht es nur darum, dass die Trace ueberhaupt etwas zu zeigen haette.Akzeptanzkriterien
EVALS.mdsagt, ob ein beobachtender Tool-Hook auf Claude Code gewollt ist, und die vorhandenePreToolUse-Notiz ist erkennbar auf den Entscheidungs-Hook eingegrenzt.tool.pre- und einentool.post-Event mittool_nameundtool_inputenthaelt - nachgewiesen an einer echten Trace, nicht am Konfigurationsdiff.EVALS.md, undEVALS.md:113/:428nennen "partial" nicht mehr ohne Erklaerung.instructions.loadedundpage.writtenist je entschieden: verdrahtet oder austelemetry/schema.pyentfernt.pytest,docs verify,instructions verifylaufen ohne neue Findings.Herkunft
Nebenfund aus #72, Sitzung 2026-09-09. Dort war die Frage, ob sich Anthropics "one level deep"-Mechanik im Eval-Aufbau messen laesst; die Antwort war nein, und einer der Gruende war dieser hier - unabhaengig von der Referenztiefen-Frage, die in #72 ohne Messung entschieden wurde.