Model Meets Reality · kinds
A kind is a promise about how you could be wrong
Eleven kinds of model. What separates them is not subject matter —
it is what would count as the model failing.
The engine is the same for every kind. What changes is the shape a premise
takes, what counts as a falsifier, and the question the agent asks when it goes
and looks. A decision-model is told to ignore what people say they will do,
because its whole claim is that actions reveal what statements conceal. A
forecaster is told to demand a date.
Proven — a discipline worked out against real models
forecaster
proven
says what will happen, by when
By <date>, <observable> will <state>, because <mechanism>.
What would prove it wrong: the date arrives with the observable in another state
What the agent asks: Observe the entity and state what you EXPECT to see by the resolution date. Every claim needs an observable a stranger could check and a date. A claim with no date is not a forecast.
Starter repo →
git clone https://github.com/shaelsrv/mmr-forecaster
decision-model
proven
derives a person's decision function from their completed choices
Given <recurring decision situation>, <actor> chooses <option A> over <option B>. Revealed by: <2+ completed, announced decisions>. Violated by: <a future choice that breaks the ordering>.
What would prove it wrong: a future choice, in the named situation, that takes the other option
Banned: Psychology. 'X is loyal / ruthless / insecure' admits no future observation that settles it. Only orderings over choices.
Scope: Public figures acting in public roles, professional decisions only. Tag --sensitivity contested.
What the agent asks: Observe ONLY completed, announced decisions -- signed contracts, executed instructions, confirmed changes. Ignore rumour, 'reportedly considering', and statements of intent: the model's whole claim is that actions reveal what statements conceal. For each premise, report whether a decision since the model was written CONFORMS TO or VIOLATES the stated ordering, and say plainly if no qualifying decision has occurred.
Starter repo →
git clone https://github.com/shaelsrv/mmr-decision-model
tracker
proven
says which signals lead and which lag
In <domain>, <signal A> moves before <signal B> by <lag>, because <mechanism>.
What would prove it wrong: B moves first, or the stated lag fails
What the agent asks: Report the current values of the leading and lagging signals and the observed gap. State what the lead predicts for the lagging signal, with a date.
Starter repo →
git clone https://github.com/shaelsrv/mmr-tracker
classifier
proven
sorts things others lump together
Cases with <feature> belong to <class 1>, not <class 2>, because <mechanism>.
What would prove it wrong: a case it sorted one way behaves like the other class
What the agent asks: Sort the observed cases into the model's classes and state, for each, what behaviour would show the sorting was wrong.
Starter repo →
git clone https://github.com/shaelsrv/mmr-classifier
adversary
proven
attacks a common belief and names what would refute the attack
<Common belief> is wrong because <mechanism>. It would survive if <specific observation>.
What would prove it wrong: the belief under attack survives the specific test named
What the agent asks: State the belief under attack and the specific observation that would vindicate it. An adversary that cannot be refuted by the thing it attacks is not doing its job.
Starter repo →
git clone https://github.com/shaelsrv/mmr-adversary
Designed — stated, not yet tested
These carry a falsifier we think is right and have not yet proved. Two of them —
generator and mirror — ship with the question still open, because
what proves a generator wrong when it only produces plausible output is a real
research question. Inventing an answer to fill the gap would be worse than the gap.
tracer
designed
says how something travels -- which move causes which
In <domain>, <event A> moves <event B> before <event C>, via <mechanism>.
What would prove it wrong: the chain runs in a different order, or skips a named link
What the agent asks: Trace the propagation path and state the ORDER in which the next links should fire.
Starter repo →
git clone https://github.com/shaelsrv/mmr-tracer
timer
designed
says when a phase arrives
<Phase> arrives in <window>, signalled by <observable>.
What would prove it wrong: the phase does not arrive in the stated window
What the agent asks: Name the phase, the window, and the observable that marks its arrival.
Starter repo →
git clone https://github.com/shaelsrv/mmr-timer
attributor
designed
assigns outcomes to causes
<Outcome> was caused by <cause>, not <rival cause>, because <discriminator>.
What would prove it wrong: the outcome is better explained by a cause the model excluded
What the agent asks: For each outcome, name the cause AND the leading rival cause, and the observation that discriminates between them.
Starter repo →
git clone https://github.com/shaelsrv/mmr-attributor
finder
designed
surfaces instances others miss
Instances of <pattern> exist in <domain> and are findable by <method>.
What would prove it wrong: it fails to surface an instance that later proves to have been findable
What the agent asks: Surface candidate instances and state what would show a missed one.
Starter repo →
git clone https://github.com/shaelsrv/mmr-finder
generator
designed
produces candidates rather than judgements
What would prove it wrong: OPEN. A generator that only produces plausible output is unfalsifiable. Candidate discipline: it must state what it will NOT generate, and be wrong when that appears.
This kind has no proven discipline. Building one is research, not scaffolding.
What the agent asks: Generate candidates AND state the class of thing this model claims it will not produce. That negative claim is the only falsifiable part.
Starter repo →
git clone https://github.com/shaelsrv/mmr-generator
mirror
designed
models the modeller -- one level up
What would prove it wrong: OPEN. Candidate discipline: it predicts a specific revision the author will make, and the author does not make it.
This kind has no proven discipline. Building one is research, not scaffolding.
What the agent asks: State a specific, dated revision you expect the author's own models to undergo.
Starter repo →
git clone https://github.com/shaelsrv/mmr-mirror
Start one
Clone the engine, then scaffold a model of whichever kind fits. The starter repos
above carry the discipline; the engine below runs it.
git clone https://github.com/shaelsrv/ModelMeetsReality my-copilot
cd my-copilot && cp .env.example .env
python -m suites.new_model my-model --kind decision-model \
--title "My Model" --domain "what it models, in a sentence"
The scaffold ships empty on purpose, and the engine refuses to run against its own
placeholder — running it unedited spends a search and returns either nothing or
claims about a target you did not choose.