From 50171ca099e68e1dd694d4e9d77514a47eaaebe5 Mon Sep 17 00:00:00 2001 From: Torben Nehmer Date: Tue, 22 Sep 2026 22:40:05 +0200 Subject: [PATCH] instructions: CONTRACT.md drops other files' step counts from copy-in-checklist rationale (#130) Files changed: - CHANGES.md - VERSION - instructions/CONTRACT.md --- CHANGES.md | 24 +++++++++++++++++++++++- VERSION | 2 +- instructions/CONTRACT.md | 24 ++++++++++++++++++------ 3 files changed, 42 insertions(+), 8 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 2af193d..707cd79 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse. --- -## 7.0.0-beta.15 - 2026-09-22 - Weekly review proposes task new/task close; tracker gains a closing write path +## 7.0.0-beta.16 - 2026-09-22 - instructions/CONTRACT.md drops other files' step counts from the copy-in-checklist rationale **Author:** Torben Nehmer @@ -90,6 +90,7 @@ concern - readable here, never shipped as something to parse. - Skill-Namensfamilien: weekly-review -> gtd-weekly-review, dritte Person in allen Descriptions - Veraltete Skill-Aufzaehlungen in der Instruction-Schicht nachgezogen - gtd-weekly-review: task new nachgezogen, veralteter Begründungszeiger korrigiert +- instructions/CONTRACT.md drops other files' step counts from the copy-in-checklist rationale ### Typ `project` und Collection `kb/gtd/`: das Vorhaben als eigene Seitenart @@ -469,6 +470,27 @@ stand, sind auf eine zusammengezogen; die zweite verweist nur noch. korrekt (zwei Lese-, drei Schreibkommandos) und haelt fest, warum sie bei "anlegen" und "erledigt markieren" endet, nie bei "loeschen" oder "aendern". +### instructions/CONTRACT.md drops other files' step counts from the copy-in-checklist rationale + +`instructions/CONTRACT.md` § "When a skill carries a copy-in checklist" used to justify the +threshold by citing each other skill's step count by number - evidence that the two-halves test +(length *and* a silently-omittable step) is what actually decides `wiki-ingest`/`wiki-lint`, not a +count fitted after the fact. Nothing kept those numbers in sync with the `SKILL.md` files they +described: one of them had already drifted silently (`wiki-query` cited at six steps where it had +been seven for a while), and the passage itself named only five of the eight skills that exist - +neither wrong number failed any check, because `docs verify` reads presence, not another file's +prose (`instructions/dev/doc-pull-through.md`). + +Of the three fixes considered - a `docs verify` check against a codified step-counting convention, +a qualitative rewrite that drops the numbers, or tracking the sync as a manual `doc-pull-through.md` +duty - the qualitative rewrite won: it is the only one of the three that removes the possibility of +drift rather than catching or documenting it, and the per-skill counts were decoration for the +two-halves test, never load-bearing for it. The passage now names which skills qualify and why, +without citing a number that belongs to a file it does not own. Today's counts were checked against +the actual files before this bump (`wiki-ingest` twelve, `wiki-lint` nine, `wiki-manage` two flows +of seven, `wiki-query` seven, `wiki-status` five, `gtd-weekly-review` five, `stack-dev` six, +`stack-close` four) - all correct, confirming the passage was not itself wrong, only unguarded. + --- ## 6.2.0 - 2026-09-19 - Entity-Subtyp project nach codebase umbenannt diff --git a/VERSION b/VERSION index a8d8c33..b63cbaa 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -7.0.0-beta.15 +7.0.0-beta.16 diff --git a/instructions/CONTRACT.md b/instructions/CONTRACT.md index 3cb6000..f2d4cdf 100644 --- a/instructions/CONTRACT.md +++ b/instructions/CONTRACT.md @@ -330,15 +330,27 @@ required. Length alone is not the problem: a long flow of tool calls announces i because the next call fails without the previous one. Two skills qualify today, and the block names each of their numbered steps once, verbatim: -`wiki-ingest` (twelve steps, of which `## Not Extracted` in step 6, the coverage check in step 10 -and the lint cadence in step 12 all fail quietly) and `wiki-lint` (nine, with steps 3-6 pure -judgment). The rest do not, and the reason is worth stating so nobody adds one out of symmetry: -`wiki-manage` has two flows of seven, `wiki-query` seven, `wiki-status` five and -`gtd-weekly-review` five - none of them long enough for a reader to lose the thread. +`wiki-ingest`, whose flow is long *and* carries steps that fail silently - `## Not Extracted`, +the coverage check, and the lint cadence all skip past with no tool error and no validator to +catch the omission - and `wiki-lint`, whose flow contains several steps that are pure judgment +calls the same way. The rest do not, and the reason is worth stating so nobody adds one out of +symmetry: every other skill's flow is short enough, and fails loudly enough step to step, that a +reader cannot lose the thread even without a checklist - `wiki-manage`'s two flows, `wiki-query`, +`wiki-status` and `gtd-weekly-review` all clear that bar. -Dev-instance-only: `stack-dev` (six) and `stack-close` (four) sit under the same threshold. +Dev-instance-only: `stack-dev` and `stack-close` sit under the same threshold, for the same +reason. +None of this is counted by number on purpose: a per-skill step count is a claim about a file this +one does not own, and a claim like that can drift silently the moment the other file changes. +This passage once cited `wiki-query` at six steps where it had already been seven for a while, and +separately named only five of the eight skills that exist - neither wrong number made any check go +red, because nothing here reads another file's prose. The two-halves test above (length *and* a +silently-omittable step) is what actually does the work of picking `wiki-ingest` and `wiki-lint` +out from the rest; a count was never load-bearing for that test, only decoration for it, and +dropping it removes the one part of this passage that could be wrong without anyone noticing. + The block says that it is to be copied and carried, not read. A checklist read once is the table of contents it replaced.