| name | extract-invariants |
| description | Turn a borrowed metaphor, analogy, or cross-domain inspiration into a testable mechanism, or prove it is decoration and discard it. Use when a design leans on language from another field ("immune system", "evolution", "market", "quorum", "crystallization"), when someone proposes copying how another domain solves a problem, or when reviewing a system whose names sound deeper than its code. Produces either a named domain-free invariant with evidence and falsifiers, or an explicit rejection with the reason it failed. |
Extract Invariants
Metaphors are how good ideas travel between domains, and also how decorative complexity sneaks into systems. The failure mode is consistent: a compelling name ("immune memory", "pheromone trails", "energy minimization") gets an API before anyone checks whether a distinct mechanism exists under it. Months later the code performs elaborate ceremony that reduces to a cache, a counter, or nothing at all.
This skill is the gate. A borrowed idea passes only as a domain-free mechanism; the vocabulary it arrived in never ships.
The test in one line
If the idea still needs its source-domain noun to sound meaningful, it has not been abstracted yet.
1. State the phenomenon plainly
Write down what the source system actually does, in the source domain's own terms. One paragraph. No implications for your system yet.
Example: "Black holes have event horizons: regions where causal influence flows in one direction only."
2. Strip every domain noun
Rewrite the phenomenon with all source-specific vocabulary removed. Every noun must be generic: boundary, log, score, budget, gate, copy, signal, decay.
- "Event horizon" becomes "an irreversible causal boundary: information may cross in one direction and never back."
- "Immune memory" becomes "a pattern store keyed by past attacks, with faster response on re-encounter and gradual decay."
- "Pheromone trail" becomes "a shared score that successful paths increment and time decays."
If the rewrite says nothing, stop: you had a mood, not a mechanism. Record the rejection and why.