falsify-firstlisted
Install: claude install-skill niksavis/basicly
<!-- Generated by `basicly skills-build` from skill.yaml. Do not edit; edit the source. -->
# Falsify First
## The move
Before you argue for a claim, spend the cheaper effort trying to make it false. A
claim nobody attacked is not evidence; it is a claim nobody attacked.
This is not review and it is not testing. A reviewer reads what you wrote. A test
fixes the behaviour you already chose. This runs *before* either: you have a
candidate rule, invariant, threshold or premise, and you go looking for the input
that kills it.
## Why it pays: the kills design the answer
In the campaign this comes from, one run proposed five candidate inequalities and an
adversarial numerical search killed every one of them:
| Candidate | Gap found | What the counterexample said |
|---|---|---|
| G2, G1 | -4.000000 | a free **phase** makes the term contribute nothing while still being charged |
| G2re | -1.000000, -2.000000 | same cause; the gap grows with the pair count |
| G3 | -0.500 / -1.333 | a negative term is priced at zero and still subtracts |
| G4 | -0.25 to -0.728 | the magnitude cannot be freed; one constraint was doing **two** jobs |
| the sixth | **0.0** | 400 random instances, no counterexample found |
The run's own line is the method: *"Before trying to prove the claim I try to break
it."* The five failures are not waste. Reading them produced the finding that the
correct inequality was **linear** where every dead candidate had been quadratic. The
right answer was derived fr