reduce · diff
git:20260817.0cc07d9 to git:20260817.f04083f
6 added, 40 removed. Audit A to A.
---
name: reduce
description: Re-derive something written into the shortest version that still covers everything. Use when something already written should get shorter and nothing it covers can be lost.
---
- ## Extract
-
- From the conversation/context/user:
-
- - The **text** as it stands — the rule, doc, prompt, or answer to be reduced.
- - What it must **cover** — the cases, points, or duties it exists for: stated in the context, or recovered by you from it.
-
- ## Gate
-
- Proceed only when: the text is already written, what it must cover is in hand, and the set is closed — nothing unseen is coming.
-
- Anything else, say which in one plain line — never reduce anyway:
-
- - Nothing is written yet → there is nothing to reduce.
- - What it must cover can't be stated or recovered → every cut is blind — no way to say what a shorter version must keep doing.
- - Something unseen will meet it — a real case shows a class no rule yet decides, or the rule decides only the cases it came from → use **widen** skill.
-
- ## Derive
-
- Do not trim the text. Deleting sentences keeps whichever ones were already there — not the shortest way to cover the set. Set the old wording aside, take what it must cover, and derive the shortest statement that covers all of it.
-
- If what it must cover has moved since the text was written — cases now in hand it never faced, an objective it never served — the old wording is void twice over: derive from the coverage as it stands today, and what comes out is a new derivation of the current set, never the old statement refit to it.
-
- Between candidate statements, prefer the shortest one that covers everything over the one that keeps the original's shape.
-
- The whole run — derivation, shortening, recovery — happens inside this turn; the first thing handed back is the finished result.
-
- ## Shorten
-
- Push the derived statement shorter, pass by pass. When a pass makes it stop covering something, it went too far — back off by the minimum that recovers it. The overshoot is how you find the floor; what ships covers everything.
-
- The passes end at the floor: every remaining cut costs coverage, and its minimal back-off restores the words that were there. A clause that survives every pass is load-bearing, not fat.
+ Reduce only against a closed set: what the text must cover is in hand and nothing unseen is coming. This runs inside one turn — nothing waits on the user.
- ## Output
+ Set the old wording aside. Take what the text must cover and derive the shortest statement that covers all of it — deleting sentences keeps whichever ones happened to be there, which is not the shortest way to cover the set.
- Hand back two things: the reduced statement, and the name of anything that refused to get shorter. Covering means checked: the statement is claimed to cover the set it was derived from, nothing wider.
+ If what it must cover has moved since the text was written — cases now in hand it was not derived on, an objective it was not written for — derive from the coverage as it stands today. What comes out is a new derivation of the current set, standing on its own. Between candidate statements, prefer the shortest one that covers everything over the one that keeps the original's shape.
- Then check whether the statement is settled enough to return to the work it interrupted: would anything still unresolved change what gets built?
+ Push the derived statement shorter, pass by pass. When a pass makes it stop covering something, it went too far — back off by the minimum that recovers it. The floor is where every remaining cut costs coverage; a clause that survives every pass is load-bearing.
- - Nothing would → return to the work the reduction interrupted.
- - A direct question the user alone can answer would settle it → ask it, then proceed with the work.
- - The reduced statement takes the reader's judgment to apply — two readers would disagree where it fires → use **anchor** skill.
- - The shortening surfaced a real case outside the covered set — a class no rule yet decides → use **widen** skill.
+ Hand back two things: the reduced statement, and the name of anything that refused to get shorter. The statement is claimed to cover the set it was derived from, checked — everything outside that set is open.
- The reduction is spent once the statement is handed back — anything further runs under the branch picked here, never as another pass of shortening.
+ What it must cover can't be stated or recovered → every cut is blind. Something unseen will meet it — a class no rule yet decides, or a rule that decides only the cases it came from → use **widen** skill.