--- type: types/source.md source_type: transcript author: Claude Code (claude-opus-5) raw_files: [raw/notes/Conversation Transcript - Gate Counting and Measured Calibration Session 2026-08-31.md] source_language: en date: 2026-08-31 tags: [gate, mass-update-gate, iteration-budget, calibration, publish, measurement] entities: [wikitool, Chemenu] concepts: [Mass-Update Gate, Iteration and Cost Limits] summary: 'Sitzung, die zwei nie gemessene Grenzen an realen Laeufen kalibriert: generierte Dateien zaehlen nicht mehr gegen das Mass-Update Gate, und das Kalibrierungsband fuer komplexe Workflows steigt von 15-25 auf 20-35 Aufrufe (Stack 1.5.0)' --- # Source: Conversation - Gate Counting and Measured Calibration Session 2026-08-31 **Autor:** Claude Code (claude-opus-5) **Datum:** 2026-08-31 **Raw-Dateien:** raw/notes/Conversation Transcript - Gate Counting and Measured Calibration Session 2026-08-31.md **Typ:** Notes ## Zusammenfassung Das Transkript ist eine treue Zusammenfassung, kein wörtliches Protokoll: Torbens Anweisung steht wörtlich, die Aufrufzahlen und die Vorher/Nachher-Dateizahlen sind in der Sitzung gemessene Werte, die Begründungen des Assistenten sind verdichtet. Es ist eines von zwei Transkripten dieses Sitzungsabschnitts; das andere behandelt `touch --set/--add/--remove` und wird getrennt eingelesen. Ausgelöst hat die Sitzung eine Beobachtung, kein Issue: drei gewöhnliche Ingests waren nacheinander am [[Mass-Update Gate]] stehen geblieben, und Torben hielt zugleich das dokumentierte Kalibrierungsband für die Anzahl der Tool-Aufrufe für zu niedrig. Beide Hälften erwiesen sich als messbar statt als Geschmacksfrage, und die Messwerte lagen bereits im Repository - die Changesets der drei Ingests und die Sitzungszähler in `tools/.wikitool_session/budget.json`. Ergebnis ist Stack-Version `1.5.0` (Commit `3166c31`, 9 Dateien, 678 Tests grün): generierte Dateien werden weiterhin committet und gepusht, zählen aber nicht mehr gegen die Gate-Schwelle, und das Band für einen komplexen Multi-Tool-Workflow steigt von 15-25 auf 20-35 Aufrufe. Die Schwelle von 10 und die Budget-Obergrenze von 60 blieben unverändert. ## Kernaussagen - **Die Beobachtung des Nutzers, wörtlich:** „automatic erzeugte files wie Index.md können wir Raus nehmen. Wir hatten drei normale ingests und alle liegen ins Gate wo immer ein Haufen Datenbank files dazu kommen" - und zum zweiten Punkt: „Ich habe den Eindruck, dass die Maßgabe 15-20/29-25 zu gering ist". - **Die Teile lagen schon da und waren nur nie verbunden.** `git_publish.py` kannte über `is_generated()` bereits `kb/index.md`, `kb/log.md`, `kb/provenance.md` und jede `INDEX.md`, und besaß mit `GATE_EXEMPT_PREFIXES = ("work/",)` plus `counted_files()` bereits einen Ausnahmemechanismus. `is_generated` wurde nur zur *Gruppierung* der angezeigten Dateiliste benutzt, unter der Überschrift „rebuilt by wikitool - no review needed" - ein Hinweis, der dem Prüfer sagte, er müsse diese Dateien nicht lesen, während die Zählung ihn weiter dazu brachte, sie freizugeben. - **Begründung der Ausnahme:** Eine generierte Datei trägt keine Entscheidung. Sie ist über `index rebuild` bzw. `sources rebuild-index` aus dem Baum reproduzierbar, ihre Freigabe entscheidet also nichts und erzeugt nur die Prüfermüdung, gegen die die Schwelle existiert. Committet und gepusht werden sie unverändert. - **Gemessen an den drei realen Changesets desselben Tages:** Comma Bug 14 Dateien, gezählt vorher 14 (Gate) / jetzt 9; Issue Triage 16, gezählt 16 (Gate) / jetzt 9; Auto Mode 11, gezählt 11 (Gate) / jetzt 5. Keiner der drei war eine Massenänderung, keiner würde jetzt noch anhalten. - **Das Gate bleibt scharf:** Zehn echte Seiten lösen weiterhin aus, egal wie viel Index-Rauschen mitfährt, und ein Test hält genau das fest, damit die Ausnahme nicht still zur Abschaltung wird. - **Die Weigerungszeile führt beide Gründe getrennt auf** - „3 under work/ and 5 generated by wikitool committed but not counted". Ein Prüfer, der bei einem 14-Dateien-Commit „9 counted" liest, hält die Differenz sonst für einen Fehler. Die Trennung hält die Gründe außerdem ehrlich: Scratch-Zustand und abgeleitete Ausgabe sind nicht dasselbe. - **Der `--confirm`-Token fasst jetzt nur noch zusammen, was ein Mensch tatsächlich gelesen hat.** Eine neu gebaute `INDEX.md` macht eine bereits erteilte Freigabe nicht mehr ungültig. - **Die alte Zählweise war ungetestet.** Alle 67 Gate-Tests liefen grün, *bevor* die Tests für das neue Verhalten geschrieben waren - kein Test hatte je behauptet, dass generierte Dateien mitgezählt werden. Das ist ein Teil der Erklärung, warum das Verhalten so lange unbemerkt blieb. - **Für die zweite Hälfte lag die Evidenz in `tools/.wikitool_session/budget.json`**, das die Aufrufzahlen je Sitzung ohnehin mitschreibt. Vier reale Ingests: `ingest-comma-bug-2026-08-31` 30 Aufrufe, `ingest-transcript-personalization-plane` 29, `ingest-issue-triage-2026-08-31` 26, `ingest-auto-mode-2026-08-31` 24. Eine Stack-Sitzung (`issue-14-2026-08-31`) lag bei 9. - **Jeder dieser Ingests lag auf oder über der Decke des dokumentierten Bandes von 15-25**, ohne etwas Ungewöhnliches zu tun. Eine Richtgröße, die der Normalfall überschreitet, ist keine Richtgröße: sie lehrt einen Agenten, dass die Zahlen dekorativ sind - genau das Versagen, gegen das das Iteration-Budget immun sein sollte. - **Neues Band: ~5-15 für eine einfache Aufgabe (gemessen 5-9), ~20-35 für einen komplexen Multi-Tool-Workflow.** Nachgezogen in `run_budget.py`, `instructions/gates.md` sowie den Skills `wiki-ingest` und `wiki-lint`. Die Obergrenze von 60 blieb unangetastet - sie ist kein Ziel, sondern der Punkt, ab dem eine Sitzung als festgefahren gilt. - **Die Provenance-Unterscheidung wurde bewusst erhalten.** Das alte Band ist eine übernommene Branchen-Faustregel, und [[Iteration and Cost Limits]] führt es mit Quelle genau als solche. Es wurde **nicht** umgeschrieben: es ist eine belegte Aussage über den Stand der Technik, nicht über diese Instanz. Was diese Instanz gemessen hat, ist eine andere Behauptung, die ihre eigene Quelle braucht - weshalb sie auf dieses Transkript wartete, statt direkt in die Seite geschrieben zu werden. - **`gates.md` hält jetzt zusätzlich fest, woher die Zahl kommt und wie man sie neu misst**, und nennt dafür `tools/.wikitool_session/budget.json`. Eine Richtgröße ohne Messvorschrift veraltet still - was hier passiert war. ## Aufgaben - [ ] Keine offenen Punkte aus dieser Sitzung. Beide Kalibrierungen sind in `1.5.0` ausgeliefert. ## Nicht übernommen - **Die Testzahlen im Einzelnen.** Übernommen sind die Gesamtzahl (678) und der Befund, dass die 67 Gate-Tests das alte Zählverhalten nie geprüft hatten; die einzelnen Testnamen tragen keine dauerhafte Aussage. - **Das Schwestertranskript derselben Sitzung** zu `touch --set/--add/--remove` und den write-once-Frontmatterfeldern. Es wird getrennt eingelesen und hat eine eigene Source-Seite; hier stünde es unbelegt. - **Eine eigene Concept-Seite für „Kalibrierung aus Messung".** Die Aussage - eine Richtgröße ohne Messvorschrift veraltet still - steht als Kernpunkt auf [[Iteration and Cost Limits]], wo sie den konkreten Fall trägt. Eine zweite, allgemeine Seite wäre derselbe Satz an einem zweiten Ort. - **Die Aufrufzahl 9 der Stack-Sitzung `issue-14-2026-08-31`** als eigener Beleg für das Einfach-Band. Sie ist im Transkript ein Vergleichswert am Rand; das Band 5-15 ist mit „gemessen 5-9" bereits als gemessene Größe geführt. ## Verwandte Entities - [[wikitool]] - [[Chemenu]] ## Verwandte Concepts - [[Mass-Update Gate]] - [[Iteration and Cost Limits]]