Zwei Zahlen im Baum, die nichts hielt: eine gebunden, eine entfernt - #156
Conversation
Der Struktur-Abschnitt sagte «54 Dateien, 1713 Tests». Zwei Commits spaeter waren es 55 und 1720 — der Harness-Guard hatte selbst sieben Tests mitgebracht. Die Zahl war also schon falsch, als sie gedruckt wurde. NICHT NACHGEZOGEN, SONDERN GETRENNT. Eine Zahl, die sich mit jedem PR aendert, gehoert nicht in Prosa: Ein Gate darauf wuerde bei jeder fremden Aenderung rot und waere nach zwei Wochen abgeschaltet — und ein abgeschaltetes Gate ist schlechter als keines, weil es aussieht, als pruefe es noch. Die Testanzahl steht deshalb gar nicht mehr im Baum; die Zeile nennt jetzt die Struktur, die stabil ist. Die MUTATIONSZAHL bleibt — sie ist eine Zusage und keine Beifang-Statistik — und bekommt einen Guard gegen die drei Suiten-Registries. Genau diese Zahl war in dieser Sitzung schon ZWEIMAL von Hand zu korrigieren: 98 statt 101 im MERGE-PLAN, dann dieselbe Zahl im Suite-Docstring. Beim dritten Mal ist es ein Test. Gegenprobe: 101 auf 99 verstellt macht beide Sprachfassungen rot. Gepruefte Staende: 37 checks all passed, 1722 Tests gruen, ruff sauber. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014d5xWfUNe6zewzHwo5id23
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9d1b94ae23
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| + len(mcp_data_fidelity.MUTATIONS) | ||
| + len(transport.MUTATIONS) | ||
| ) | ||
| gefunden = muster["mutations"].findall(text) |
There was a problem hiding this comment.
Scope the mutation-count check to the tree entry
This searches the entire README rather than the tree whose count the new test is intended to guard. Both READMEs repeat 101 mutations/101 Mutationen later in the “What the checks are held to” table (README.md:427 and README.de.md:428), so deleting or rewording the tree's tests/suites count still leaves gefunden == ['101'] and the test passes. Match the specific tree line or otherwise anchor the search to that tree block so losing the documented count is detected.
Useful? React with 👍 / 👎.
Beim Aktualisieren der Struktur-Übersicht nachgemessen statt abgeschrieben — und dabei einen Fehler in der eigenen, zwei Commits alten Arbeit gefunden.
Was falsch war
Der Struktur-Abschnitt sagte:
Es sind 55 Dateien und 1720 Tests. Der Harness-Guard aus PR #155 hatte selbst sieben Tests mitgebracht — die Zahl war also schon falsch, als sie gedruckt wurde.
Warum ich sie nicht einfach nachgezogen habe
Sie wäre beim nächsten PR wieder falsch. Eine Zahl, die sich mit jeder Änderung bewegt, gehört nicht in Prosa, und ein Gate darauf wäre keine Lösung, sondern eine schlechtere Version des Problems: Es würde bei jeder fremden Änderung rot und wäre nach zwei Wochen abgeschaltet — und ein abgeschaltetes Gate ist schlechter als keines, weil es aussieht, als prüfe es noch.
Also getrennt statt nachgezogen:
Die Baum-Zeile nennt jetzt die Struktur, die stabil ist: „one suite per skill, plus the repo-level guards".
Der Guard für die Mutationszahl
test_die_mutationszahl_stimmtintests/test_readme_harness_counts.py, gegenMUTATIONSder drei Suiten-Registries, in beiden Sprachfassungen.Genau diese Zahl war in dieser Sitzung schon zweimal von Hand zu korrigieren: 98 statt 101 im MERGE-PLAN, dann dieselbe Zahl im Suite-Docstring von
mcp_transport_hardening. Beim dritten Mal ist es ein Test.Gegenprobe:
101→99macht beide Sprachfassungen rot, mit der Registry-Zahl in der Meldung.Geprüft
python -m tools.harnesspytest tests/ruff check/format --checkGenerated by Claude Code