Let the measurement liturgy have one copy, and give the section its budget back - #545
Merged
Conversation
…udget back The five-step liturgy of a Tintenfolger round stood twice: once in .claude/skills/verify-trace/SKILL.md, once as five copy-paste command blocks in docs/reference/werkzeuge.md. #540 had to write the same --expect-root flag into both, and the budget comment it added named the fix it could not make in that PR. werkzeuge.md now carries a pointer instead: what the skill does, when it is invoked — BEFORE a round, as a checklist, not looked up afterwards — and that it is the executable form. What stays is what a tool index is for: the five entry points of tools/tracebench and tools/pairlab/follow, where their flags are documented (--help, and each arm's own §14 entry), and the invariants that hang on them. The Stand block says the same in one line, because a session reads it instead of the file. The section falls from 4125 to 3704 proxy tokens — two off the 3702 that set its budget on 2026-09-04 — so the stopgap raise of #540 (werkzeug-abschnitt 4073 -> 4538) is reverted to 4073 unchanged rather than re-derived. The growth was moved out of the read path, which is what the gate asks for, and a budget re-measured to the same number is the proof. The skill's own opening and the glossary's k0eval entry now name which file holds which half. The dated §14 journal entries that mention "Mess-Liturgie (werkzeuge.md)" stay as written — they are closed records, and the pointer under that heading still leads to the skill. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UEScQMZFvxxNNyNJYryfa3
There was a problem hiding this comment.
🔵 Needs a closer look
Two documentation nits remain unresolved, and approval-readiness assessments are split.
Pull request overview
Consolidates the Tintenfolger measurement procedure into /verify-trace and restores the documentation budget.
Changes:
- Removes duplicated measurement commands from the tool inventory.
- Makes
/verify-tracethe canonical procedure. - Updates budget, glossary, and changelog references.
File summaries
| File | Description |
|---|---|
tools/docs_budget/__init__.py |
Restores the budget; wording incorrectly calls 4073 the measured size. |
docs/reference/werkzeuge.md |
Retains the inventory and points to the skill; includes an inaccurate skill-coverage claim. |
docs/reference/glossar.md |
Separates procedure and inventory references. |
changelog.d/liturgy-pointer.md |
Records the documentation consolidation. |
.claude/skills/verify-trace/SKILL.md |
Establishes the canonical measurement procedure. |
Review details
Suppressed comments (2)
docs/reference/werkzeuge.md:33
- The claim that only the Tintenfolger round has a skill is inaccurate:
.claude/skills/optimize-glyphs/SKILL.md:3,8-10defines an experiment skill aroundtools/glyphbench. Keep the intended contrast without making the inventory's skill coverage incomplete.
> die Prüfung ist der Bench-Lauf und das Auge; einen Skill hat nur die
> Tintenfolger-Runde (`/verify-trace`). Die Methode und die Zahlen eines
tools/docs_budget/init.py:237
4073is the restored budget, not the measured section size—the comment below correctly says the section measures3704(and the original measurement was3702). Calling4073“measured” makes the rationale for this magic number internally contradictory.
# `werkzeug-abschnitt` was raised to 4538 on 2026-09-05 and is back at its
# measured 4073 the same day. The raise was honest but a stopgap: „Benches und
- Files reviewed: 5/5 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #540, which had to write the same
--expect-rootflag into two places and said so in the budget comment it added.The duplication
The five-step measurement liturgy of a Tintenfolger round stood twice:
.claude/skills/verify-trace/SKILL.md— the executable form, loaded when the skill is invoked;docs/reference/werkzeuge.md§ „Benches und Generator" — the same five steps as copy-paste command blocks, ~50 lines.#540 changed both. Its own budget comment named the fix and deferred it:
What the doc keeps, and what it points at
werkzeuge.mdis the inventory — what exists, what it is called, which invariant hangs on it — so that is what stays:tools/tracebenchandtools/pairlab/follow(follow,tracebench,.k0eval,.excursions,.view), each with one clause on what it produces;--help, and each arm in its own §14 entry — that is where they were already authoritative, the doc only copied them;--expect-rooton all five, and the invariants (pure measurement layer, dev split frozen and append-never, paired comparisons only inside one pinned environment and one root).In its place, one paragraph on the skill: what it covers, that it is invoked before a round rather than read afterwards, why that matters (
aug25L-U andaug26v5 were both measured against the wrong follower, from memory), and that the doc stays the inventory while the round's sequence has exactly one source. The Stand block carries the same in one line, since a session reads it instead of the file, and its „Was offen ist" no longer claims the tools have no skill — the trace round now has one.The budget
werkzeug-abschnittbudget3704 is two tokens off the 3702 that set the 4073 budget on 2026-09-04 — the section is back where it was before the flag lines went in. So the raise is reverted to the same number, not re-derived from the new measurement: the growth was moved out of the read path, which is what the gate asks for, and a budget that re-measures to its original value is the proof that it was a stopgap.
uv run python -m tools.docs_budget checkgreen, every path inside budget.Pointers checked
docs/index.md— thewerkzeuge.mdrow describes the tool index and needs no change; nothing in the map referenced the liturgy.docs/reference/glossar.md— thek0evalentry pointed at „werkzeuge.md (Mess-Liturgie)"; it now names/verify-tracefor the liturgy andwerkzeuge.mdfor the inventory..claude/skills/verify-trace/SKILL.md— its opening said the liturgy is one „thatwerkzeuge.mdrecords". It now says this file is its only copy, and why.messjournal.mdthat mention „Mess-Liturgie (werkzeuge.md)" are left as written — closed records are not rewritten, and the pointer under that same heading still leads to the skill.CLAUDE.md/.github/copilot-instructions.md— neither mentioned the liturgy; unchanged, andtests/test_agent_instructions.pyis green.Gates
tools.docs_budget check,tools.docs_register check,tools.changelog check, ruffcheck+format --check, full backend suite (2433 passed / 18 skipped) — all green locally.🤖 Generated with Claude Code
https://claude.ai/code/session_01UEScQMZFvxxNNyNJYryfa3