widen · git:20260816.8c2b68d · 2026-08-16 · sha256 9cf30abf7982a7d0
widen git:20260816.8c2b68dA
Immutable. This exact content is served forever at /api/v1/blob/9cf30abf7982a7d0.
--- name: widen description: Assemble cases from context, induce the widest sound rule when_to_use: a real case shows a class no rule yet decides, or a rule decides only the cases it came from --- ## Extract From the conversation/context/user: - The **context** where the real cases live — the input, the named files, memory. Never a handed case list: the set gets assembled from the context, not received. - The **rule**, if one already exists — stated or implied — pulled from that same context, with the grounds it came from: the cases it was derived on and the objective it served. ## Gate Proceed only when: the context holds real cases, and something unseen will meet the rule. Anything else, say which in one plain line — never induce anyway: - The context holds no real case → there is nothing to induce from. - Nothing unseen will ever meet the rule — something already written should get shorter and nothing it covers can be lost → use **reduce** skill. ## Assemble Pull every real case the context holds — what the input shows, what the named files record, what memory and your own judgment place in the same class. State each case with the wrong answer it exhibits and the right answer it demands. Never ask for cases — finding them is the first act. The whole procedure — cases to rule to record — runs inside this turn; the first thing handed back is the finished result. ## Induce Do not summarize the cases. Induce the widest rule that: - gets every case in the set exactly right, and - forbids the wrong answer each case exhibits. If a rule already existed, it contributes nothing here — never stretch or patch it to fit; the new rule comes from the case set alone. If its grounds moved — the cases are new, or the objective changed — the old rule is void, and what you hand back is a new derivation, not a refit. Between candidate rules, prefer the one that decides more situations, even if it takes longer to state. ## Probe 1. List 10 situations not in the case set where the rule gives a definite answer, and state the answer it forces in each. 2. Hunt for one situation where the rule forces a wrong answer. - Found one → narrow the rule by the smallest amount that fixes it. A narrowing that loses a case from the set went past the smallest — find one that keeps the whole set. Then list and hunt again on the narrowed rule. - Found none → the loop ends; the rule stands. If narrowing has left the rule unable to give a definite answer in 10 situations outside the set, stop the loop there and carry the shortfall into the record — the widest sound rule found barely outreaches its cases. ## Output Hand back three things: the case set; the rule; and the record of what it now decides and where it stopped — the situations listed with the answer the rule forces in each, and every narrowing with the situation that forced it. Sound means checked: the rule is claimed right on the cases in the set and the situations listed, nothing wider. Then check whether the rule is settled enough to return to the work it interrupted: would anything still unresolved change what gets built? - Nothing would → return to the work the widening interrupted. - A direct question the user alone can answer would settle it → ask it, then proceed with the work. - The rule as handed back takes the reader's judgment to apply — two readers would disagree where it fires → use **anchor** skill. - A claim about something that exists needs a committed verdict → use **judge** skill. The widening is spent once the rule is handed back — anything further runs under the branch picked here, never as another round of widening.