Regime engine changelog
Every change to how Jawz composes its regime and cycle reads, dated. Presentation changes are not listed; classification changes always are.
The commitment
If your model is pre-registered against Jawz — a stored configuration hash, a backtest, a paper — you need our rules to change loudly or not at all. So: no change to classification semantics ships without an entry on this page, dated the day it deploys. Record this page’s latest entry date alongside your own configuration hash and the comparison stays auditable from both sides. An explicit algorithm_version field in tool responses is queued behind an app-store review that freezes our response shapes; it will ship, and its arrival will itself be an entry here.
Entries
2026-09-12 — Global liquidity stays on four banks when the China statement is old
Until now the headline liquidity total dropped the People's Bank of China leg once its latest monthly statement was more than 90 days old, falling from a four-bank (g4) to a three-bank (g3) sum. That printed a step of about $7 trillion that was not a liquidity move, and it happened twice (2026-07-02 and 2026-07-31); an integrator's archive recorded the July step as a jump. From today the four-bank total is kept whenever any PBoC statement is on file: the China leg is carried forward at its last published value, and the response states exactly how stale it is — the month it labels, its age in days, how many monthly prints are missing and when the next one is due (PBoC posts 45–65 days after the month it labels). The g3 basis now appears only when no PBoC statement has ever been filed or the read fails. The supportive/neutral/draining classification is unchanged: it always compared like with like across the window. Reconstructed history rows are recomputed under this rule (cache keys bumped), so a reconstructed row that previously read g3 for a stale-China day now reads g4 with the staleness stated.
2026-08-30 — Reconstructed rows read true vintage data
Reconstruction now reads each series as it was actually published on the target date, instead of today's revised values filtered by observation date. This removes look-ahead bias, and it changes reconstructed values — sometimes across a threshold. Measured case: sentiment reconstructed for 2026-07-20 previously read 55.2, which is July's print and was not published until 2026-07-31; the value genuinely known that day was June's 49.5. The sentiment threshold is 55, so that row's classification changes. The same fix was applied to the curated China (PBoC) leg, which is published 45–65 days after the month it labels and was being selected by data month rather than by whether Jawz held it yet. Observed rows are untouched. This supersedes the 2026-06-29 note that reconstructed rows are not backtest-grade. One limit remains and is deliberate: reconstructions run today's engine, so they show what the current rules would have said given only what was known then — they are not a replay of the rules as they stood.
2026-08-20 — Cycle confirmation counts consecutive RAW quadrant reads
A pending quadrant change can now actually confirm; previously the confirmation counter could reset against the smoothed read. Affects when `cycle_confirmed` flips.
2026-08-17 — Growth is scored once (#43); cycle boundary reported as a direction (#44)
The growth indicator pillar and the cycle's growth composite are the same number and can no longer disagree. Boundary proximity is reported as a direction, not a score.
2026-08-05 — Hysteresis and boundary states on both axes (#28)
Regime colour and cycle quadrant gained confirmation rules and explicit on-boundary states. A single day's read near a threshold no longer flips the headline.
2026-07-14 — Inflation composite semantics clarified as direction
⬆/⬇ on the inflation composite mean direction of travel, not portfolio impact. The impact reading lives in the inflation pillar. Classification unchanged; interpretation contract tightened.
2026-06-29 — Daily observed snapshots begin
From this date, get_regime_history rows marked `observed` are true vintage — written the day they were read, never recomputed. Earlier dates are `reconstructed` from current-vintage data and are not backtest-grade.
2026-05-20 — G4 global liquidity: PBoC leg added (Mako-curated)
The liquidity input includes China's central bank when a fresh monthly publication is on file (basis `g4`), falling back to `g3` when it is stale. The basis is always named in the response.
2026-05-19 — Regime headline keys off G3 global liquidity
The liquidity input to the headline colour moved from the Fed balance-sheet trend alone to combined Fed+ECB+BoJ, FX-converted.
2026-04-27 — Threshold-based classification replaces summed scoring
Composite classifications derive from per-indicator thresholds rather than a summed score. The founding rule set of the current engine.
What counts as a classification change
Anything that could alter a regime colour, cycle quadrant, confirmation state, boundary state, or composite classification for the same underlying data: thresholds, input sets, confirmation windows, fallback rules, basis changes. Formatting, field naming, glossaries and other presentation-layer work does not qualify and is deliberately excluded, so this page stays high-signal.
Questions, or a use case that needs more than this? hello@jawz.ai — integrator feedback is where most of our roadmap comes from.