Conditioning: Two Points Are Not a Habit

The problem

Your AI saw the same thing happen twice and now it talks like it is a law of nature. Or it saw one bad outcome and overcorrected for a month. Operators feel this constantly: the machine mistakes a coincidence for a pattern, then acts on the pattern it invented.

What it does

Conditioning reads a sequence of events (cue, behavior, consequence, reinforcement) and tiers what it finds. One episode is noise. Two ordinary episodes is a candidate loop, an investigation question, never an asserted pattern. Three distinct episodes, or two when the stakes are high (money, a public commitment, a near miss), is a claimed loop. It dedupes repetition inside one sitting, so a busy afternoon of the same action is one episode, not a habit.

The honest part

The whole value is what it refuses to do. It never declares a pattern from two ordinary points. It never forces a direction when the reward signal is missing (the answer is mixed_or_unclear, not a guess). And the false-positive residual, the share of claimed loops a human reviewer marks wrong, is meant to be published, not hidden. An engine that reports on conditioning should be the least conditioned thing in the room.

Get it

Free and open source (Apache 2.0), stdlib only, ships its own attack suite: github.com/davedepew/conditioning. It is one engine in The Operator’s Honesty Stack, a set of honesty engines from the same production system.

FAQ

Does it need a model or an API key? No. It is deterministic, stdlib-only Python that runs offline.

How is this different from anomaly detection? Anomaly detection flags the unusual. Conditioning models reinforcement loops and, crucially, tiers its confidence so two data points never become an asserted rule.

Can I plug it into my own logs? Yes. You hand it events as plain dictionaries from logs, ledgers, or receipts.