Decisions & changelog

Measured, not assumed

An engine built to read long cycles should be held to a long standard. Over the last stretch we made three changes in that spirit, and a fourth to tidy up behind them. Each is a version of the same idea: measure what is actually there, over the time that actually matters, and never lean on something that has gone stale.

None of this changes what the engine is. It is a weather report for the market: it reads conditions and writes them down. These changes make the reading more honest, not louder.

Scoring over the horizon that matters

Every reading the engine makes is graded against what price did next. Until now, "next" meant a week and a month. For a model built to read moves that unfold over months and years, that is the wrong ruler. A reading about a cycle low is not really right or wrong a week later. It is right or wrong over the months the move takes to play out.

So the engine now scores each reading across a ladder of horizons: a week, a month, a quarter, half a year, and a full year. The short windows still matter for timing. The long ones are where a long-term thesis is actually settled.

The headline accuracy figure follows the same logic. It settles onto the longest horizon that has enough resolved readings behind it, and leans on the shorter windows only while the record is still filling in. In practice the number you see will mature over time, drifting from the short windows toward the long ones as more readings cross their finish line. A figure that can only be earned slowly is worth more than one that is easy to quote.

There is a quieter consequence too. Before the engine issues a high-conviction reading, the bar it has to clear is now its record over that longer horizon, not just the first few weeks. A strong lean has to be backed by a strong record on the timeframe the lean is actually about.

Measuring the tape, not assuming it

Crypto does not trade in a vacuum. When the broad stock market is in a risk-on mood, that mood often reaches crypto too, and the engine has always watched the equity tape for exactly this reason.

What it used to do, though, was assume the link. It read the stock market's trend and treated crypto as something that simply follows along. The trouble is that the link is not constant. There are stretches where crypto moves almost in lockstep with equities, and stretches where it goes entirely its own way, driven by its own story.

So the engine now measures the relationship instead of assuming it. It reads how tightly crypto and the stock market are actually moving together at the moment, and how sensitive one has been to the other. When the two are genuinely coupled, the equity tape earns a say in the reading. When crypto has decoupled and is trading on its own, the engine says so and leaves the stock market out of it, rather than importing a link that is not really there.

It also watches the gap between the two. When the risk tape pushes to new ground and crypto does not follow, that non-confirmation is worth noting. When crypto holds firm while stocks are soft, that relative strength is worth noting too. A cross-check only helps when it is actually connected, so now the engine checks whether it is before it leans on it.

Only fresh fuel counts

One of the engine's reads maps where recent forced liquidations have clustered, on the idea that price is often drawn toward resting pools of liquidity. A map like that is only as good as the data behind it, and the data had a quiet flaw: it could include liquidations from days or weeks earlier, at price levels the market has long since left behind. A cluster from an old world could show up as a magnet in this one.

We tightened the window. The map now counts only liquidations that are still current, so what it shows is where pressure actually sits now, not a ghost of where it sat before. A magnet that is no longer there should not be on the map.

Counting every reading

The last change is the least glamorous and the most basic: making sure every reading is actually counted. A family of the engine's higher-order reads, the ones that notice its own conviction turning or drifting, were being written down but, through a quirk in how they were tagged, not scored. They count now, on the same record as everything else. And a rebuilt reading of weekly market structure, which had been running quietly beside the main verdict, now feeds into it. A better instrument only helps once it is wired to the dial.

The thread

Measured, not assumed. Judged over the horizon it actually trades. Current, not stale. The through-line in all of it is the same standard the engine holds the market to, turned back on itself: describe what is really there, be honest about the timeframe, and let the record decide. Conditions, not calls.