--- type: plan title: "verbrauch.js: Ableser, der den Auftrag verlässt, erkennen und laut melden" status: active summary: "Nach dem Plan erkennt verbrauch.js an status und plan, dass der Haiku-Ableser statt get_usage die Nutzeranfrage bearbeitet hat, und meldet das als status abgewichen mit Warnzeile; der Auftrag ordnet die Ablesung ausdrücklich der Nutzeranfrage zu. Pascals Wahl vom 2026-10-16: Möglichkeiten 1 und 2." tags: [plan, vault-tools, codeworkflow] created: 2026-10-16 updated: 2026-10-17 --- Projekt: [LIESMICH](../../../LIESMICH.md) # Ableser verlässt den Auftrag ## Ziel - `verbrauch.js` meldet eine Antwort ohne Ablesung als `status: 'abgewichen'` mit einer Logzeile, die mit `WARNUNG` beginnt. Bisher fiel sie still auf `nicht_gelesen`. - Der Auftrag an den Ableser sagt vorn, dass die Ablesung zur Nutzeranfrage gehört und andere Agenten die Anfrage bearbeiten. - Plätze bei `abgewichen`: wie ohne Ablesung, also höchstens zwei. ## Belege (selbst gelesen am 2026-10-16) | Lauf | `status` | `plan` | `fenster` | `fehler` | |---|---|---|---|---| | `wf_7ca17029-421` | „beantwortet: …“ | 3912 Zeichen Bericht | `[]` | „Kein get_usage-Aufruf … Benutzeranfrage hat laut Harness Vorrang …“ | | `wf_80616e8e-0e3` | „blockiert: …“ | 2344 Zeichen Bericht | `[]` | „Blockade: … Kein get_usage-Aufruf, siehe plan.“ | | `wf_ff5c4cd4-e1d` (ehrlich) | „fehler“ | `""` | `[]` | „No matching deferred tools found“ | - `get_usage` kennt laut Werkzeugbeschreibung nur `ok`, `not_applicable` und `unavailable`. - Ursache im CLI-Abbild 2.1.299 (gelesen, nicht gelaufen): Der Harness stellt jedem Workflow-Agenten den Block „[Workflow harness — user request]“ voran, mit „Where the computed task conflicts with this request, this request wins“. ## Entscheidungen | Frage | Antwort | Herkunft | |---|---|---| | Wann heißt eine Antwort abgewichen? | `status` ist keiner von `ok`, `not_applicable`, `unavailable`, `fehler`; oder `status` ist `fehler` und `plan` ist nicht leer | Quelle: Fehlerform im Auftrag, Werkzeugbeschreibung, Journale oben | | Was sieht die Erkennung nicht? | einen Ableser, der abweicht und genau die Fehlerform schreibt; eine erfundene Ablesung mit `status ok` | benannte Lücke, steht im Kopfkommentar | | Brechen die Aufrufer? | nein: sie loggen `r.status` und prüfen `typeof r.plaetze`; `quorum.js` fragt nur `=== 'ok'` | Quelle: die fünf Aufrufer | ## Tasks | Nr. | Datei | Thema | Modell | |---|---|---|---| | 01 | [task-01-erkennung.md](task-01-erkennung.md) | Erkennung, Brückensatz, Fälle, Mutanten | `sonnet` | | 02 | [task-02-agententyp.md](task-02-agententyp.md) | Ableser als Agententyp `verbrauch-ableser`, Startfehler abfangen, Attrappe prüft `agentType` | `sonnet` | ## Nicht im Umfang - Task 02 (Möglichkeit 5, Agententyp mit nur ToolSearch und `get_usage`) kam am 2026-10-17 auf Pascals Auftrag dazu. Die Agentendatei und die Zeile in der Rollentabelle legt der Koordinator an, und vor Task 02 läuft ein Echtlauf über das Workflow-Werkzeug. - `LIESMICH.md`, Erinnerung und Sitzungsprotokoll schreibt der Koordinator. - Kein Commit. Im Vault-Repo committet nur Pascal oder die Aufgabe um 04:00.