mcpField
P
principle-attack-the-premise

principle-attack-the-premise

github.com/backnotpropDevelopment3.1k5.7k installsUpdated today
Repository

About principle-attack-the-premise

Attack the Premise is a development principle for situations where multiple fixes based on the same assumption fail at the same gate. It asks developers to state and test that assumption before trying another fix, then use the evidence to locate the cause.

Key features

  1. 01Identifies shared assumptions behind failed fixes
  2. 02Requires stating the premise explicitly
  3. 03Tests the premise before another fix
  4. 04Uses failure patterns as evidence
  5. 05Distinguishes causes from consequences

Use cases

  1. 01Investigating repeated failures after similar fixes
  2. 02Choosing a diagnostic check before another code change
  3. 03Tracing a failure to a condition that should be removed

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/backnotprop/pstack --skill principle-attack-the-premise

After installing, type/principle-attack-the-premisein Claude Code to confirm it loaded.

Details

From the project README

Attack the Premise

When two or more fixes that share one premise have failed the same gate, suspect the premise, not the fixes.

Why: Each failed fix is evidence against the belief it assumed. A third fix on the same premise spends effort where the evidence already says the cause is not.

Pattern:

  • Write the premise down. The premise is the one sentence that every failed fix assumed.
  • Test the premise before the next fix. Find an observation that would come out differently if the premise were false, and make it. Look at how the failures are distributed, not only at how large they are. Make the check rerunnable per Build the Lever.
  • Follow the evidence. If it contradicts the premise, the cause is elsewhere. Look for what the failures have in common that the premise did not predict. If it confirms the premise, ask the next "why" per Fix Root Causes. The earlier fixes may have treated a consequence instead of the cause.
  • Remove the condition instead of compensating for it, per the Laziness Protocol. If the evidence shows that one part always lands on the losing side, change what puts it there. A mechanism that cleans up after it leaves the cause in place and adds work on every run.

Stop: Do not start the next fix before the premise is written down and tested.

This principle is distinct from Redesign from First Principles, which rebuilds a design around a new requirement. It questions a fact the current design assumes.

Comments

Markdown supported