Aim Volatility Labby Bao Research
HomeAboutHow we gradePricingContact
Changelog

What shipped, and what had to pass first

Every release below cleared the same gates: pre-release invariant checks, receipts for anything that makes a claim, and n-gated evidence before anything is called proven.

v1.9.304 ResearchOctober 2026

Supported capital fraction — the backtest now tells you a ceiling, never an optimum

  • The question is inverted. Instead of typing a risk percentage because a book said so, you answer one account-level question in Risk Rules — how much could you lose before you would quit, and at what confidence (default 20% at 95%) — and every backtest shows the capital fraction its holdout path SUPPORTS at that tolerance: "supports up to 42% of your account in this position (range 38–49%; 80% haircut applied)". It is computed on the last 30% of the path only (untouched by any optimizer), by block-bootstrapping the engine's daily equity returns and solving f = tolerance ÷ drawdown at your confidence; it is capped at 100% and stratified by regime where a regime has enough bars. A path too short to say anything says so.
  • It is a ceiling with a declared estimation width, never a recommendation — the word on the surface is "supported", and the line says plainly that five tickers each supporting 40% do not support five times that together (the portfolio ceiling needs the Allocation Matrix's correlations and is a later instrument). When you have set a base unit, the line reads it back: what fraction of RM capital it is and the drawdown that implies. Registered with a forward question before the first computation: do realized drawdowns on positions opened from here fall inside the predicted band? If they fall outside more often than the confidence permits, the haircut steps down by amendment.
v1.9.302 GovernanceOctober 2026

Tranche gate repaired: it now reads your strategy's own h60 grade, and adverse evidence closes it

  • v1.9.301 bound the tranche-admission gate on the platform-wide protocol verdict — which resolves once, for everyone, so after that read every handed-off position would have been admitted at the same moment, including one opened yesterday. Repaired by write-once amendment: the gate now reads the position's own handoff episode and its own h60 grade. Not matured → not yet (your own h20 is cited). Graded for the advice you acted on (rotate) → allowed. Graded against it (hold) → not yet, and the line says so: a proof-of-concept gate does not admit a size increase on a strategy whose own confirming read says the advice lost. Split or tie → not yet. The platform verdict is shown beside the answer as context only. No production position was affected — no account had yet acted on a handoff advisory.
  • Also filed while parked: the fixed-ratio ladder's volatility scalar gets a per-asset-class reference (SPY for equities, BTC-USD for crypto) so crypto positions are not pinned at the clip. Risk Rules shows the base unit as a percentage of current capital so drift is visible, and says plainly that unset means the rule bites nothing. The import cash sleeve now says "already above cap" instead of silently suggesting $0.
v1.9.301 GovernanceOctober 2026

Sizing governance: a tranche gate, a 2× conviction cap, and a parked fixed-ratio ladder

  • Three rules registered from the money-management reading (Jones' fixed ratio; the Tastytrade conviction and proof-of-concept notes) — governance, not arithmetic: how the engine sizes today is unchanged. Tranche admission (rule:tranche-admission:v1): no size increase on a strategy the platform handed you to before its h60 verdict has been read, and none while the verdict is UNDECIDED — the Risk Manager says "not yet" with the verdict cited when you add cash or a scale-plan tranche; you can still do it, and the add is journaled against the gate.
  • Conviction cap (rule:conviction-cap:v1): set a Base Unit in Risk Rules and no platform size suggestion — the sizing calculator, the import cash sleeve — may exceed 2× it, however strong the crown or score; the suggestion is clamped and says so. Your own entries above 2× are flagged with a visible chip, never blocked. Leave the base unit at 0 and the rule stays dormant. Fixed-ratio ladder (parked:fixed-ratio-ladder:v1): registered with its fixed-fractional twin, a step-down at least as fast as the step-up, and a per-position volatility scalar — parked until enough true-fill realized P&L exists; the delta will be measured, not chosen, before the first bar.
v1.9.300 ProductOctober 2026

Import from broker — your history in a minute, stamped for what it is

  • Positions → "Import from broker" reads a CSV export from Tastytrade, Schwab, Coinbase or Alpaca (anything else through a column-mapping step with a live preview). Before a single record is written you see a reconciliation line — fills, date range, symbols still held with cost basis, closed round-trips with net P&L, fees — and confirm it matches your broker. Symbols you still hold open as positions today at the current price with your imported share count; you pick the engine per symbol and the cash to run it with. The engine's clock starts at import: the imported fills sit beside the position as history, visibly marked "not graded", and never enter the execution gap.
  • Closed round-trips file into the Risk Manager journal as closed trades stamped imported, matched FIFO (oldest lots close first — each trade shows which buys closed against which sells; if your export carries the broker's own realized P&L it is used and labelled). They count in your win rate, expectancy and hold time, carry no R-multiple or stop, never move RM capital, and are excluded from every readout that grades you against the engine. Analytics shows the two strata side by side: before the rules, under the rules. One write-once receipt per file; re-importing the same file warns first. Same 2 MB / 5,000-row caps as every upload.
v1.9.299 LearnOctober 2026

Learn: what you should hold vs what the engine would have done

  • A new Learn entry, "Portfolio Rebalancer vs Multi-Asset", uses the two Research tabs as its worked example. Multi-Asset answers "what would the AIM engine have done on each of these?" — engine-run per asset, in-sample headline, weights are the capital you typed, not graded. The Portfolio Rebalancer answers "which fixed weighting rule should hold these?" — rules are the rows, 1/N is the bar, the crown must beat 1/N and its own equal-weight twin on a 30% holdout the tool refuses to run short, and Apply files a receipt graded at 20 days (a read) and 60 days (the grade) on the recommendation as filed, never on your execution.
  • Both tab headers now carry a "how to read this" link that lands on the entry. The entry's illustration shows the same four tickers through both tabs — one column of engine runs with the in-sample warning, one crowned rule with its weights — so the distinction is seen before it is read.
v1.9.298 ProductOctober 2026

One tab, one question: the Rebalancer and Multi-Asset now live apart

  • The Portfolio Rebalancer tab is now the Allocation Matrix alone — given 2–4 legs, which fixed weighting rule should hold them, with one Apply and one 20/60-day graded receipt. The older Multi-Asset Portfolio view (the AIM engine run on each asset independently, then aggregated) moves to its own Research tab beside Compare, where "run the engine on each of these" has always lived. The two tools answered different questions on one page and produced two rebalance tickets for one basket; each now points at the other by question, not by name.
  • Honest labels at the point of clicking. Multi-Asset's bottom table is "Drift from Entered Capital" with "Entered wt / Entered $" columns — it returns each asset to the split you typed, not to a rule-solved weight, so the word "target" no longer carries two meanings. Its button reads "Track each asset as a position — engine-run, not graded at 20/60d", and positions opened that way say "from Multi-Asset", so the platform's grade is never ambiguous about which advice it is grading.
v1.9.261 ResearchOctober 2026

The Matrix crown now has to beat its own exposure

  • Crown v2, item 1. Every Matrix row is compared with a static twin: a costless constant-mix rebalanced daily to the config's equity fraction at holdout start, on the same holdout bars. The two differ in exactly one thing — whether the engine traded. A row can be crowned only if it beats its twin on the same OOS composite the crown already ranks on; rows that fail are stated ("did not beat its own exposure"), never silently dropped. New "vs twin" column on every row.
  • Item 5: the verdict and every walk-forward panel (Compare, Optimize) now attribute the holdout margin — "of +13.8 pts vs holding, +14.1 is exposure and −0.3 is the engine" — so a 30%-invested config that "beat buy-and-hold" in a falling market is read for what it is. Prospective only: past verdicts and community-shared results are never re-crowned and carry their run date. Registered as rule:matrix-crown-static-twin:v1 with the expected direction written down before the first production run.
v1.9.260 ResearchOctober 2026

Every backtest now says what weather it was earned in

  • Compare, the Matrix and every walk-forward panel carry a regime-mix line: how much of the window the ticker spent in strong uptrend, downtrend, range-bound or moderate regime, the median dwell and the number of switches — so "+27 pts vs holding" reads as "+27 pts over a window that was 71% strong uptrend". Shown as the window truly was (retrospective); one click reveals the series as the engine could have known it at each bar (causal) — the gap between them is the labeler's confirmation lag, now visible rather than hidden.
  • Walk-forward panels flag a one-regime holdout: when ≥80% of the validation window was a single regime (pre-declared threshold), the panel says so — a holdout that tested one weather is a one-regime test regardless of its length. Disclosure only; no gate or verdict changes. Registered as rule:regime-time-profile:v1 before the first computation shipped.
v1.9.183 SecurityAugust 2026

Security audit passed — and the hardening it suggested, shipped

  • An independent application security audit found no way to take over accounts, read another customer's trades or plans, tamper with billing, or reach internal systems — every query tenant-scoped, prices computed server-side, webhooks signature-verified, secrets masked. The full report is filed, dated, and the next audit diffs against it.
  • Its three low-severity hardening suggestions shipped the same week: alert delivery is now immune to stray characters in your notes and symbols (sanitized once at the send boundary, with a plain-text fallback so a formatting edge case can never eat an alert), content-security-policy violations now report to a named-origin ledger before any tightening, and dependency advisories are tracked per release in the pre-ship checklist.
v1.9.181 DisciplineAugust 2026

The return leg: pre-filled fill logging and the one-time unlogged-fill reminder

  • Ticket-out was smooth; fill-in was still typing — and an unlogged fill grades as a false skip (the replay grader can't see your broker, so the adherence ledger would record a deviation that never happened). Now every copy-ticket surface has a pre-filled sibling: Log fill → on Morning Brief action rows opens the position's log form with side, size and price from the same ticket — adjust to your actual fill and confirm.
  • If a touched trigger sits unlogged two trading days later, you get ONE reminder, ever (unlogged_fill_reminder_v1, write-once): "if you placed it, log it; if you skipped, that's fine — the grade will say so honestly." Not a nag — the ledger asking for the truth before it writes down the wrong one. The 2-day timing is registered with its reasoning: one full EOD cycle plus one day of grace, while fill-memory is still fresh.
v1.9.180 Risk ManagerAugust 2026

Paste-ready tickets in trigger alerts, the stop-ratchet timeline, and gap history as counts

  • Scale-plan trigger alerts now carry the order ticket as a monospace block — one long-press on your phone and the order is on your clipboard (AAPL BUY 5 · limit $182.40 · stop $178.10). The alert already respects due-ness, so the ticket inherits the timing discipline for free; you still place the order, then log the fill.
  • The Stop Schedule dialog draws each trade's stop-event history as a timeline — automatic schedule ratchets, your manual moves, and any widened stop in amber carrying its journaled reason on hover. The risk-recycling discipline, visible at a glance.
  • The Desk texture table adds a Gaps 90d column with counted arithmetic — "6 · faded ≤3d 4/6 · full 2" — under a registered definition (texture_history_v1): same-day fades count explicitly, full gap fills are recorded as a secondary at compute time, and pending gaps stay out of the denominator. The pattern arrives as a count with an n, not an impression.
v1.9.179 DisciplineAugust 2026

The copy-ticket handoff, everywhere the risk-recycling flow needs it

  • Copy order ticket now covers the whole Risk Manager flow: the size-a-trade form (entry with your calculated size, stop and target), every pending scale-plan tranche and the tranche execution form (pyramid adds and scale-outs, current ratcheted stop attached, broker-standard sides — BUY/SELL, SELL SHORT/BUY TO COVER), and the close dialog — the same paste-ready line the Morning Brief and Positions already offer. AIM still never touches your broker: you place the order, then log the fill back.
  • A new Learn section — "Copy Order Ticket — the broker handoff" — walks the whole loop: where the button lives, what the ticket contains, the fractional-shares caveat, why conditional pyramid adds should only be placed once DUE, and why the no-broker-API boundary is deliberate.
v1.9.177 ReliabilityAugust 2026

One sender per alert, and the day's texture without asking

  • Duplicate ops alerts are fixed at the root: nightly jobs now take a database-backed leader claim (the old lock silently passed when Redis was absent, so multiple workers each "won"), the three unlocked nightlies (Daily Pulse, Autoresearch, Paper Lab) take locks, and preview environments stay silent on the shared ops channel — no more untagged ghost alerts about a preview pod's own state.
  • The Morning Brief and the Trading Desk now carry a "texture (latest bar)" line for your watchlist: gaps and range breaks per ticker, computed from the same registered labeler that stamps your trades — descriptive, not a signal, and no verdict-running required.
v1.9.176 Risk ManagerAugust 2026

Stop widening: walled where it must be, measured where it may be

  • The stop-ratchet rule learned discrimination (stop_ratchet_rules_v2): while a conditional-add pyramid is active, loosening a stop stays hard-refused — it would retroactively falsify the risk-recycling invariant your adds were checked against. On a plain trade, widening now takes the standard acknowledged override: your reason is journaled, the event is marked, and the trade joins a new "stop widened" stratum — so whether your widened stops underperform becomes a question your own ledger answers, not a lecture.
v1.9.175 Risk ManagerAugust 2026

Risk-recycling pyramids — exposure can compound, your risk cannot

  • Scale plans learn the pyramid grammar (pyramid_plan_v1): a "Pyramid preset" declares conditional adds that only come DUE after a daily close beyond entry + 1R — the end-of-day proxy for "the prior layer's stop can move to breakeven". Executing a conditional add re-runs the risk check with a new invariant: total open risk after the add may never exceed your first stake. To add more, you ratchet the stop first — the structure forces the discipline instead of lecturing about it.
  • Stop changes are now first-class journal events (one-directional: stops only tighten, loosening is refused, not overridable), trigger alerts stay silent for tranches the plan says aren't due yet, and plan grading gains an honest NOT_DUE status. Plus: Instant Verdicts now show the day's texture — gap or breakout chips, arithmetic facts only, clearly marked descriptive-not-a-signal.
v1.9.174 ResearchAugust 2026

Trend texture, stamped: sub-regime labels enter the entry-context ledger

  • A fourth labeler (subregime_v1) now reads trend nuance from your own price bars: gaps (split-artifact-guarded), direction-symmetric breakouts and retracements, and exhaustion candidates built from regime age, volatility spikes and volume — five frozen definitions, registered before the first stamp was written.
  • Every new journal trade carries its sub-regime at entry from birth, and trades that predate the labeler are derived retroactively from stored bars — so the "do my retracement entries actually outperform my breakout entries?" strata start partially filled, and grade through the same n-gated tiers as every other entry context. Labels describe entries taken; they never predict.
v1.9.172 ProductAugust 2026

Onboarding catches up to the product — and the funnel gets ledgers too

  • The guided tour now teaches the product that exists today: Instant Verdict is step one (the front door), one-click verdict tracking and the watchlist follow, then the deep lab — backtests, engine races, walk-forward — the Risk Manager's entry discipline, and the community's receipts. It closes on "Get my first verdict."
  • Activation is now measured the way the strategies are: three milestones registered before any data accumulates — first analysis, first watchlist add, first verdict tracked — with write-once stamps at the exact action moment, an honestly-bounded cohort (admin, staff and test accounts excluded and the exclusion disclosed), and a funnel readout that starts at zero and says so.
v1.9.171 ProductAugust 2026

Every Lab tab states its mission — and graduation gets witnessed

  • Each Lab tab now opens with one line saying what it's for — the candidate funnel, the memory health console, the gate report card, the ledger of promises — so the panels beneath read as evidence toward a purpose instead of a wall of tables.
  • The desk's slow countdown reaches the monthly ops digest ("Desk: MATURING · 0 of 30 closed · 1 of 5 criteria proven") — and criterion flips are events, not statuses: the day one goes green (or regresses), an ops ping says so immediately, including the moment all four are met and sign-off unlocks.
  • All legal pages now answer "how do I reach you" the same way: through the Contact page. No email addresses left to scrape.
v1.9.170 ProductAugust 2026

The Trading Desk learns the difference between young and wrong

  • New verdict state — MATURING: a desk that hasn't reached 30 closed trades is young, not in trouble, and the banner now says so in neutral blue instead of amber. While young, FUND is unreachable by construction and only real risk causes can raise CAUTION or HALT. Past nights where caution meant nothing but "too young" are reclassified by a documented derivation — the ledger itself is never rewritten — and the self-grade excludes them, so "is the desk's judgment any good?" is only ever answered on days the desk actually judged.
  • The desk page now leads with its mission: the five pre-registered graduation criteria sit at the top as a scorecard, every panel below feeds one of them, and the empty tables fold into one honest counter line until their data matures. Dense-and-empty became five promises and their countdowns.
  • Honest numbers: the utilization chart now labels its nightly series "last close" instead of borrowing "now" from the live header; goal pace states its basis ("77% of goal · 100% of period elapsed") instead of a vibe; edge health counts its not-yet-graded policies instead of hiding them; and the win-rate figure carries its own caveat — wins counted, not size-weighted.
v1.9.169 ProductAugust 2026

The nudges become inspectable — and start grading themselves

  • Trigger Alerts card: every declared trigger now shows its state in the journal — pending, alerted (with the date and why), or executed — so "why didn't it alert?" answers itself. One alert per trigger, ever, is written next to each delivered alert, and a quiet ledger says so honestly instead of showing nothing.
  • Guardrail efficacy: once 10 guardrail prompts have been answered, your journal shows how you responded (proceeded, reduced, cancelled) and how those trades went. The verdict — does the prompt actually change outcomes? — waits for 30 prompted trades, because people who chose to reduce differ from people who proceeded, and a description must not dress up as a conclusion.
  • Weekly digest: once 5 scale plans have graded, your Monday email carries the plan-adherence verdict — what following your plans exactly would have earned versus what you did — with the same provisional markers the app shows. Below 5 plans, the digest says nothing rather than nagging.
v1.9.168 ProductAugust 2026

Trigger alerts, a streak guardrail, and plans graded in aggregate

  • Scale-plan trigger alerts (Telegram): when the day's bar touches a trigger you declared, you get a message — the same touch definition your plan will be graded by, so an alerted trigger and a graded trigger can never disagree. Every message says it's based on the completed daily bar, and an add that would currently fail your risk checks says so instead of nudging you into something the wizard would block. One alert per trigger, ever — no daily nagging.
  • Streak guardrail: if you size up more than 1.5× your norm while 3+ losses deep, and your own ledger shows you trade worse in that state (20+ trades in both buckets), a prompt shows you your own numbers. No degradation in your history — no prompt, no matter the streak. It never blocks, shows at most once per streak, and records your response so the prompt itself gets graded on whether it helps.
  • Plan adherence: once 5 scale plans have graded, your journal shows the verdict — what following your plans exactly would have earned versus what you did — with the tranche counts beneath as evidence.
  • Research: promoted configs now also survive an anchor-jitter test — the same backtest started a few bars later must not collapse. A config that only wins from one exact start date is a coincidence wearing a strategy's clothes.
v1.9.167 ProductAugust 2026

Scale plans — declare the ladder, then get graded against it

  • Open manual trades can now carry a declared scale plan: tranche adds and scale-outs at trigger prices, as percentages of your initial position. The plan freezes when you declare it — your first executed tranche binds its fingerprint to the trade permanently, so the record always shows which plan governed which trade. Editing journals a new version; the old one is kept.
  • Every add re-runs your risk checks at the moment you execute it — against your account as it is then, not as it was when you planned. A months-old plan cannot size against a months-old account. Breaches need the same acknowledged override as any gated entry, and it travels on the tranche record.
  • At close, the plan grades itself: tranches executed as planned, skipped (the trigger was touched and you didn't act — detected from the bars, not your memory), untriggered (price never got there — not a miss), and unplanned fills. Plus the counterfactual: what the R would have been had the plan executed itself, next to what you actually made.
  • Your R stays anchored to the original risked amount — adds raise exposure but never restate history. One trade, one R, into your expectancy and Kelly numbers exactly as before.
v1.9.166 ProductAugust 2026

How you trade after losses — and whether conviction sizing earns its keep

  • Losing-Streak Behavior: your journal now shows how you actually trade after consecutive losses — expectancy and risk-gate override rate after 0, 1–2, and 3+ straight losses. "Quantify how you feel during losing streaks" is unfalsifiable; how you trade during them is a query on data your journal already stamps. Each entry is graded against trades closed strictly before it — the decision judged with what you could have known.
  • Size Consistency: every entry is banded against your own trailing median risk fraction (undersized, standard, oversized) and graded in R. Both failure modes of conviction sizing get measured — oversizing favorites and undersizing your best setups out of fear. Trades without enough history are honestly unclassified, never defaulted.
  • Both readouts follow the house rules: render gates frozen before the first number could print, provisional chips under 20 trades, dashes where the sample hasn't earned a verdict.
v1.9.165 ResearchAugust 2026

A real edge is a plateau, not a peak — now enforced, not just shown

  • The optimizer has long shown whether your winner sits on a broad high-scoring region or a knife-edge. As of tonight that judgment has teeth: autoresearch survivors must sit on parameter plateaus — a config that only wins at exactly its coordinates is overfit in parameter space the same way an in-sample champion is overfit in time, and it now discards before reaching your approval queue. The bar lives in the Research Charter (a formal, reasoned amendment); the method is frozen in the registry.
  • Every optimization verdict now stamps its parameter-robustness at the moment of decision. As those receipts mature, a pre-registered question gets graded: do plateau crowns actually outperform sharp-peak crowns forward? The criteria were frozen before the first stamp existed — the adoption itself is a hypothesis the ledger will grade.
  • Candidates in the approval queue now wear their plateau verdict, so you can see the shape of the region a survivor came from before you approve it.
v1.9.164 ProductAugust 2026

A registered second look, and provenance that travels

  • Last release noted, as an aside, that forward returns after volume-confirmed spikes looked different from thin-tape ones — while the registered recovery metric came up null. That is exactly the moment a lesser process quietly switches metrics. Instead, forward returns got their own registration (v2) with frozen thresholds — and the registry says out loud that the historical numbers had already been seen, so the entire evidential weight rests on live forward data that had not.
  • The monthly ops digest now reports the forward stamp count for that comparison — the evidence appointment shows up in your inbox instead of waiting to be remembered.
  • The Trading Desk utilization sparkline now shades its caution (100–120%) and halt (>120%) zones, so a breach jumps out — and staying far below them is visible too.
  • Forecast cone charts can be exported as PNG for review discussions — with the SHADOW watermark, estimator, date, and maturity count baked into the image itself. Screenshots escape their context; the provenance travels with every pixel.
v1.9.163 ProductAugust 2026

Grades for the promises you log

  • Target Grading: every profit target you log at entry now gets graded at close — how often your targets are touched (a resting limit fills on a touch; the stricter closed-through number is recorded alongside), how far toward target the typical trade actually got, and what fraction of the promised R you banked. The rules were frozen before the first grade existed; nothing prints before 10 matured grades, and everything under 20 wears the same PROVISIONAL chip your journal already uses.
  • Entry Context Grades: every new trade is stamped at birth with its context — the regime, whether the Augen spike gate was red, whether that spike had volume behind it. As stamped trades close, your journal grades the contexts you trade in ("entries taken while spike-gated" gets a measured verdict, not a vibe). Your own numbers sit atop an anonymized community pool, and every row shows its regime mix — because a bad grade in one context is often a regime effect wearing a costume.
  • These grades describe entries you already took. They never detect setups and never predict — the ledgers decide what the features grow up to be.
v1.9.162 ProductAugust 2026

The reward side of the math, and a Kelly that only argues down

  • The trade sizer always knew your risk to the cent — now it asks the other question: risking it to make what? Add a target and the panel shows your R:R and the win rate it implies ("at 1.8:1 you need to be right 36% of the time"). Targets are logged at entry, so target-setting itself becomes a graded skill over time. Manual trades only — AIM positions exit by assessment, not price targets.
  • A Kelly criterion check now runs on your own closed-trade R-multiples — with three locks. It needs 30 closed trades. It needs at least 5 losses (a near-lossless ledger makes Kelly scream "size up!", which is precisely when it must stay silent). And it only ever argues DOWN: if quarter-Kelly on your record suggests risking less than your configured fraction, you'll hear about it; it will never tell you to size up. Naive Kelly at the point of trade is the fake precision this platform exists to refuse.
  • And behind the admin curtain: a second Augen chart, the same trailing-σ ruler applied to volume. A price spike on a volume spike is conviction; the same move on thin tape is noise — plausibly. "Plausibly" earns nothing here, so every price spike is now stamped with its volume state, and the stratification gets graded before volume ever influences a gate.
v1.9.161 ProductAugust 2026

Bigger type, a locked pen, and drift you can see coming

  • A reviewer ruled that our 10-point readability floor was still too small for dense data tables — so the floor moved, everywhere at once: the smallest text in the app now renders at 11 points, and the standard was amended with the verdict that raised it. (Account Settings still offers Large Text on top of that.)
  • The graduation sign-off exists now — as a button that stays locked until all four pre-registered criteria go green. When it lands, it lands once, into the permanent ledger, with a snapshot of the criteria it was signed against. The pen only works when the checklist says so.
  • The desk's vital signs became sparklines: expectancy per dollar and capacity utilization drawn across the last 90 nightly verdicts, so drift is visible while it is still a slope and not yet a cliff.
  • The monthly ops digest folds the desk self-grade and the forecast estimators' Brier scores into one message, sent once per month and deduped in the ledger. And admins can now cone ANY ticker — ad-hoc cones are marked as such: computed on demand, never logged, never graded, never confused with the ones standing trial.
v1.9.160 ResearchAugust 2026

The desk grades itself, and the forecast shows its cone

  • The Trading Desk now answers the uncomfortable question monthly: did FUND days actually outperform HALT days on the paper book? Every nightly verdict is paired with the next day's P&L and bucketed by light — with the honest caveat pre-registered: a desk that says CAUTION every day earns no grade, and that's the correct outcome, not a failure. If HALT days ever beat FUND days, the panel calls its own judgment anti-signal.
  • A graduation checklist now defines — in a frozen, pre-registered document — exactly what the desk must prove before any user ever sees it: a positive margin at 30+ closed trades, three clean monthly self-grades with no inversions, at least one lever at the trust gate, and 60 consecutive nightly verdicts. Human sign-off comes last and can never substitute for the criteria; that ordering was written down before anyone could be tempted to reverse it.
  • The levers table begins capturing true trade-offs: every walk-forward-validated run now records its return and drawdown alongside its score, so "raising this lever gains X but deepens drawdowns by Y" can be said from validated evidence — the columns appear only as the metric-bearing sample accumulates, exactly as the original limitation promised.
  • And the 20-bar forecast cone is now visible — in the admin lab only, watermarked SHADOW — UNCALIBRATED, drawn over recent price with its drift and √-time widening. It renders nowhere else until the coverage ledger earns it the right.
v1.9.159 ResearchAugust 2026

The desk gets its Phase-2 levers — and starts grading itself

  • The Trading Desk now shows which knob moves which outcome. The new Levers table is built exclusively from walk-forward-validated optimizer runs — every observation is an out-of-sample score, never an in-sample sweep — median-split per lever with the sample counts printed beside every delta. Thin data says "accumulating", not a made-up direction. The method itself is pre-registered (desk_levers_v1), including the stated limitation: single-objective scores only, until multi-metric capture ships.
  • Paper expectancy now sits beside live-book expectancy, and the divergence between them is treated as its own signal: a live book that lags paper is execution drag or regime shift talking. The verdict still comes from the paper book alone — that rule was frozen at the pilot's birth and stays frozen.
  • The desk also started grading itself: every night's FUND/CAUTION/HALT light is logged append-only and rendered as a history strip, so in six months the question "was the desk's judgment any good?" has a ledger to answer it.
  • And goals now bite: if the weekly or monthly paper P&L falls behind its target, the ops Telegram gets one ping per period — mid-period, when course-correction is still possible, not in the post-mortem.
v1.9.158 ResearchAugust 2026

Trading as a business: the Operations Control Center pilot

  • A new admin-only Trading Desk reframes the dashboard from "result viewer" to "operations control center". A business owner doesn't just watch the bank balance — they watch margins, inventory, and product quality. The desk surfaces three levers: expectancy per dollar risked (the margin), deployed exposure against volatility-adjusted capacity (the inventory), and per-strategy edge health versus its own buy-and-hold (the product-defect check).
  • At the top sits a CEO Summary: three numbers and one verdict — FUND, CAUTION, or HALT — answering "would I fund this strategy for another day?" The verdict thresholds were pre-registered in the permanent ledger before the panel first rendered, and they're printed on the panel itself. No synthesized confidence, no hidden rules.
  • Everything is n-gated in the house style: an expectancy built on a dozen trades is anecdotes, not a margin, and the desk says so instead of flashing green. The pilot reads the Paper Lab's tamper-evident fill chains only — live-book reading and a validated sensitivity table ("which knob does what") are later phases.
  • You can also set daily, weekly, monthly, and yearly P&L goals and watch the paper book track against them — goals are deliberately editable settings, not frozen rules, because targets belong to the owner, not the ledger.
v1.9.157 ProductAugust 2026

When two lines are the same line, say so on the chart

  • A sharp-eyed user caught the Guardrail Impact chart lying by omission: when guardrails never bind, the ON and OFF equity curves are identical — so one hid perfectly under the other, and the eye paired the visible line against the grey Buy & Hold benchmark and concluded the stats were wrong. The numbers were honest (two full independent simulations, zero blocked buys, identical trades); the chart just failed to show its work.
  • Now the overlap is drawn, not footnoted: the With line renders as a dashed overlay on top of the Without line so both are visibly present, their endpoint labels merge into one — "With = Without (identical)" — and a badge sits directly on the chart saying the grey dotted line is the benchmark, not the other scenario.
  • Buy & Hold is restyled everywhere on this panel as a dotted line explicitly named "(benchmark)" so it can never again be mistaken for a run.
  • And verifying the null result exposed a second bug: the "see them bind" falling-knife demo had quietly stopped binding too. Its synthetic decline was a two-year drip — the strategy averaged in all its cash above the breakdown line, leaving the guardrail nothing to block. A knife is a plateau then a collapse; the sample now falls like one, and the demo shows real blocked buys, real dollars kept out of the decline, and a real drawdown cut again. One user's skepticism, two honest fixes.
v1.9.156 AccountabilityAugust 2026

The forecast goes on trial before you ever see it

  • The lab now issues nightly 20-day-ahead regime probability forecasts and 80% volatility bands for every tracked ticker — and grades every single one when the 20 bars arrive. Three competing estimators run side by side (a champion and two frozen challengers), scored with proper scoring rules: Brier for probabilities, pinball for bands. Not hit-rate — hit-rate rewards vague forecasts, and proper scores punish them.
  • Every rule was written before the first forecast existed: the band formula, the estimator identities (down to the challenger's decay half-life), the promotion criteria, and the calibration gates all pre-registered in the permanent ledger. Writing the comparison rule after seeing early results is the forking path this entire apparatus exists to close.
  • Nothing renders to users until a class of assets holds 30 matured forecasts with empirical coverage inside 80% ±10 points. Until then it is shadow-only — the scoreboard shipped before the score, as always.
  • And the first scan caught its own bug within the hour: a delisted feed offered a year-old bar as "today", which would have issued a forecast whose outcome was already knowable. Forward-only issuance now refuses stale bars, and the one affected document is stamped retrospective — shown forever, counted never.
v1.9.155 ResearchAugust 2026

Anticlimaxes are the achievement

  • The corridor gate crossed in production — witnessed, contract-bound, and goalpost-stable, exactly as rehearsed 48 hours earlier. The lesson that made it boring got a name: "no frozen document lives in a clearable namespace" is now a written standard with its three applications cited, so the fourth never happens.
  • Precision housekeeping with an asset-class eye: attention rows stop printing raw engine floats ("BUY 657.8923 sh" → "BUY 657.89 sh"), while crypto quantities keep the decimals they genuinely need (0.004215 BTC is not 0.00). Order tickets flag fractional equity quantities and the copy toast reminds you to confirm your broker supports them — closing the paste-fails seam before anyone hits it.
  • Two labeling fixes so a future reader never conflates two different kinds of evidence: the Verdict Log's $10k tracking deployments now say what they are (they grade the verdict, not a strategy) and the Paper Lab says what it is not (those deployments carry no constitution and no fill chain).
  • And the evidence-cycle rule got its nudge: saving a charter whose current version has governed fewer than 3 research nights gets a reminder that the cohort can't be read yet — v2 never governed a single night, and the radar will draw that empty trace forever.
v1.9.154 ResearchAugust 2026

One version governs at a time — and now the screen says so

  • A fair user question exposed a label gap: nothing on the research charter said whether v1, v2 and v3 run in parallel (they never do — one version governs each night; older versions are frozen history, and every hypothesis is stamped with the version it was born under). A governance chip now states it plainly: "v3 governs tonight · last run under v2."
  • The cohorts those stamps create got their comparison instrument: a charter cohort radar — regimes as axes, one trace per version, each normalized to its own share of registered hypotheses so the SHAPE compares even when volumes differ. Raw counts and survivors live in the hover; cohorts under three research nights draw dotted and say so. It answers the question the exploration bump raised: did the charter change where the researcher digs, or just how much?
  • Hypotheses gained append-only annotations — a note you can add after the fact that never touches the frozen pre-registration, the same separation paper-fill annotations keep from the hash chain.
  • And the watchlist board stopped making you wait twice: returning to the dashboard now renders the last scan instantly with an "as of" stamp while a fresh one loads quietly behind it.
v1.9.153 ResearchAugust 2026

The gate got its dress rehearsal before its moment

  • The corridor-slice escalation gate sits two folds from filling for the first time — exactly when a latent bug would matter, so it got a dry run before the crossing. Two findings: the registered gates document lived in a clearable cache (the same pencil-not-pen mistake the watermark taught us twice), now rehomed to permanent state with its original registration preserved; and the crossing itself was silent — nothing computed eligibility. Now the panel, the Ledgers Index, and a dedicated gate-check declare it: at n≥30 corridor-sliced results become ELIGIBLE to inform advice severity, nothing escalates automatically, any consumer must read the registered gate, and advisories still require ≥2 corridor reasons to exist at all. Rehearsed at 29, 30, and beyond in tests.
  • The disciplined ceiling of broker convenience: a Copy Order Ticket button on the position wizard's computed step and the Morning Brief's action rows — ticker, side, quantity, limit, stop, pre-formatted for pasting into any broker's order form. Zero execution surface; the order never leaves your clipboard. This is where the boundary sits, permanently: the product knows, you act.
  • And a small honesty nudge where institutional memory gets written: a charter save with a thin reason (under 60 characters) gets an amber reminder that the history is the research org's memory — cite the evidence, not just the what. A nudge, never a block.
v1.9.152 ResearchAugust 2026

Simplify by demotion, not deletion

  • One hundred rows restating "redundant" convey nothing the completed-negative note doesn't say better — but deleting them would also delete the audit evidence behind a public claim and the one genuinely informative slice: how close the nearest miss came. So the sweep table got demoted, not removed. The verdict note stays on top; the summary line now names the nearest miss (ticker, pair, weights, edge); a top-5 nearest-misses mini-table renders by default — the live read on whether the open arm's next milestone is worth it; and the full row set collapses behind a "view all" expander plus a CSV export, so the claim stays verifiable at zero scroll cost.
  • The rendering is state-aware for the future: if a sweep ever produces survivors, the survivors render by default and the redundant mass stays collapsed — the table's prominence tracks its findings, the same rule the rest of the lab lives by, applied to its own evidence.
v1.9.151 ResearchAugust 2026

No backtests in forward-test clothing

  • The rotation-advice ledger's production debut enrolled 88 episodes — with advisory dates stamped from each ticker's last data bar, many landing BEFORE the protocol itself was registered. That's backfill, and a promise-grading gate fed by backfill would deliver a backtest wearing a forward-test's clothes. The fix is the house rule: retrospective episodes are stamped as such, graded and displayed in their own stratum, and excluded from the 30-episode protocol-verdict count — which now fills only with episodes whose corridor conditions were first met after registration. As a free consequence, the "next maturation" clock computes from genuine forward advisories only, ending the past-dated-deadline artifact.
  • The "scan has not run" absence line was contradicting a populated table two lines above it. Root cause: the scan status lived in the same clearable cache the watermark once did. Same cure: rehomed to permanent state, with a fallback that derives the status from the episodes themselves — the line built to prevent misreading can no longer be the thing misread.
  • And the retirement flip the lineage evidence justified: consolidation now retires by parent vein (family key as the floor), the read-only lineage check doubles as the exact retirement list, and the confirm dialog names every account it would retire — the machine proposes, the evidence renders, the human clicks with the receipts in view.
v1.9.150 ResearchAugust 2026

Prevention ships tonight; destruction waits for its evidence

  • The account-consolidation question ("do five active research accounts secretly descend from one parent idea?") now has an instrument: a read-only lineage check renders which accounts share a parent vein, who would be kept and who would be retired — before anything fires. Retirement is the constitution's one permitted intervention and it's irreversible, so it stays behind the button, clicked with the receipts in view. The forward-looking guard, by contrast, tightened immediately: a new survivor that shares a parent with an already-fielded account no longer opens a second account — jittering a different parameter doesn't make it a new idea.
  • The blend sweep's zero-survivor result at full scale got filed as what it is: a completed negative experiment, replicated at two scales under pre-registered criteria. It now reads on the sweep panel AND in the Ledgers Index — a finding that lives only on the panel that produced it isn't yet part of the record.
  • Two small honesty fixes in the research charter: version-diff entries now render actual values instead of "[object Object]", and a notes field that still describes an older version wears a visible "the human record lags the version" hint (a nudge, never a rewrite — notes stay versioned user content).
v1.9.149 ResearchAugust 2026

The investigation came back: no query ever changed

  • The matured-count drop a reviewer caught got its full forensic answer: the counting query has been byte-identical since the Ledgers Index shipped, and no code path in the entire backend deletes a receipt or un-matures one. What CAN differ is the lens — surfaces that filter by gate version show zero where the unfiltered ledger shows one, because one receipt matured before gate stamping existed. That receipt is now footnoted everywhere it counts.
  • The high-watermark that guards against silent shrinkage moved house: it used to live in a cache collection that gets cleared and recomputed routinely — a monotonicity guard in an ephemeral namespace is a promise written in pencil. It now lives in permanent state that no cache wipe can reach, with a one-time migration from the old home.
  • The transition-matrix Refresh button no longer spins forever: the panel now polls while the background recompute runs and clears itself the moment fresh numbers land, with a confirmation toast.
v1.9.148 ResearchAugust 2026

Counts that only go up, or say why they went down

  • A reviewer diffing two captures caught a matured-receipt count that decreased between them. In this codebase maturation is set-only — no code path can un-mature a receipt — so instead of arguing from the source, the Ledgers Index now proves it structurally: the receipts row tracks its own high-watermark, and if the live count ever drops below it, the row wears an explicit warning ("matured count DECREASED — investigate before trusting this row") instead of letting the lower number pass as normal. Silent shrinkage on an accountability surface is now impossible by construction.
  • And the footnote the drop deserved: receipts that matured before gate stamping existed are now labeled on the row itself — "counted here, flagged pre-instrumentation; see Label Audit" — the same nothing-vanishes-unexplained rule the calibration reset followed.
v1.9.147 ResearchAugust 2026

All its mouths say the same thing: version-guarded caches, one account per idea, environment badges

  • A reviewer audit caught the reporting layer drifting from the data layer, and this release closes every gap. Caches that depend on the regime classifier now treat a version mismatch as staleness — an old cached matrix can never again serve pre-fix numbers under post-fix code — and the pre-release gate enforces the invariant permanently: no cached document may carry a classifier version older than current.
  • The approval loop had a hole: once a research survivor was approved, its idea-family became re-proposable — the same configuration re-survived its favorite vein night after night, and every approval spawned another paper account. Ten near-identical accounts is one observation wearing ten hashes. Fixed at every layer: approved families are blocked from re-proposal, each idea-family gets exactly one paper account, the population is capped at five with displacement (worst forward edge retires, reason hash-chained), and a one-click consolidation retires standing jitter-siblings — keeping the best of each family, ledger visible forever.
  • The research charter took its first evidence-driven revision: the Lineage Fertility panel showed one parent config at 50 children and a 90% survivor rate while a whole regime sat barren, so exploration doubled (2→4 nightly) — through the same versioned diff-and-reason machinery every charter change rides.
  • And because preview and production run separate databases with separate clocks, the Lab now wears an environment badge, the Ledgers Index stamps its fetch time, and the handoff card reports its last scan — "0 enrolled" is now provably different from "the scan never ran."
v1.9.146 TransparencyAugust 2026

The reset is the artifact: the calibration share card now tells the whole story

  • The public calibration share card used to show the scoreboard's numbers without their context — 278 forecasts locked, 0 scored — which read as a young product rather than what it actually is: a deliberate reset. The card now leads with it: "We reset our public scorecard to zero. On purpose. We found a bug in our regime classifier. We fixed it — and every pre-fix forecast stopped counting." Re-earned count, the untouched pre-fix ledger (still visible, none counted), the classifier version, a gate bar you can watch fill, and a QR straight to the live page. The card regenerates from live data every hour, so a screenshot shared today ages gracefully as the number climbs.
  • Most compelling at zero — because the reset is the artifact nobody else would publish. Once the gate re-earns itself, the card hands back to the calibration story it was always working toward.
v1.9.145 ResearchAugust 2026

The Ledgers Index — every promise to grade, in one place

  • The accountability surfaces had multiplied — optimization receipts, public edge re-races, the Instant Verdict ledger, the proposer scoreboard, paper accounts, the calibration countdown, blend-sweep graduation, the handoff ledger, corridor-slice gates — each one right, and together scattered. The Lab now opens with a single index: one row per ledger — what it grades, which frozen rules govern it, n toward its gate, the next maturation date, and the last verdict (or an honest dash). When a grade batch matures, the question "which promise just landed, under what rules, and what else is still cooking" is a reading, not a scramble.
  • The index reads; it never runs. Fire conditions stay frozen in their write-once documents because they define the experiments — this page only governs how they're read. It is also, quietly, the admin superset of the public calibration countdown.
v1.9.144 ResearchAugust 2026

The handoff ledger learns to be read correctly

  • Every handoff grade batch is now witnessed the moment it matures — with the counterfactual caveat in the alert line itself ("standardized capital, not position-exact"), so the ledger's first records are read correctly at the moment of maximum excitement. And the ledger card pre-empts the tempting early read the way every other surface does: "X of 30 episodes graded — no protocol verdict yet." The advice enrolled itself as a hypothesis; it matures like one.
  • The ledger card also shows the fallback rate — what share of advisories froze the built-in Moderate preset rather than a tuned config. That number is the natural completion signal for moderate coverage: when it drops toward zero, the coverage campaign has arrived. (It starts at 0 of 8 — the tuned-moderate configs were already there for the opening cohort.)
  • Corridor-slice accrual now renders as a countdown, the calibration-page pattern: settled cells vs corridor cells, each counts-only below its n≥5 display gate, with a progress bar filling toward the n≥30 escalation bar. Watching the gate fill is both honest and quietly motivating.
  • The Morning Brief keeps its one-glance promise under corridor-heavy weeks: a single handoff advisory renders in full, but multiple watches collapse to one aggregate line ("3 regime handoff watches · most aged: ACN") that expands on click — the volume rule applies to advice lines too.
v1.9.143 ResearchAugust 2026

Rotation advice enrolls itself: the handoff protocol as a graded hypothesis

  • The Morning Brief now carries a "regime handoff watch" line when a ticker's corridor read stacks two or more structural reasons (never the moderate band alone) — and the copy says "consider", never "do". Every line shown is itself a pre-registered experiment: one advisory per (ticker, regime-run) episode — a corridor that persists for ten days is one observation, not ten — with the rotation target frozen into the record at issuance (params, source, and versions; the stale-crown lesson applied to advice). Each advisory is graded rotate-vs-hold at 20 and 60 bars on Total Return + Sharpe, as a counterfactual from the advisory bar at standardized capital — the ledger card says exactly that, so the eventual hit rate is read as what it is. The advice measures its own edge before it earns any stronger voice.
  • The moderate regime — reachable at all only since the classifier fix — gets its own nightly probe budget, carved out of the OOS ration like the blend lane (the param lane keeps its floor by charter rule). Probes alternate between fresh exploration inside moderate and a cross-regime transfer test (does an adjacent regime's best config hold up there?). A pre-registered validity floor guards both: a probe grade only counts when the evaluation windows hold at least 30 hysteresis-moderate bars — below that, the record says "insufficient regime exposure — ungraded", because six bars of a target regime is noise wearing a verdict.
  • Edge Anatomy's future corridor slice had its render rules decided before the first cell fills, write-once: counts-only below n≥5 (the existing convention), a higher n≥30 bar before corridor cells may drive advice escalation, and a coverage disclosure pinned to the verified date of the first stamped fold — stamping since 2026-08-08, pre-instrumentation folds excluded. The rules live in a visible Lab registry panel, because visible rules get proofread and buried ones don't. One honest caveat added alongside: corridor stamps ride paper-fill docs outside the tamper-evident hash preimage, so corridor-sliced paper results are not chain-attested — only the un-sliced fill chain is.
v1.9.142 ResearchAugust 2026

Coverage races, blend paper accounts, and a public countdown

  • Grow tuned coverage: an admin background runner now races the Matrix across every stored ticker so more names gain tuned sleeves — and the tuned Blend Sweep re-fires automatically at coverage milestones (30, then 60 tickers), never on a schedule, because re-grading the same held-out data weekly would be multiplicity by calendar. The graduation cap is now cumulative across all sweep re-runs: three slots, ever — a new graduate must displace the weakest incumbent, never expand the list.
  • Blend survivors earn paper accounts the same way approved presets do: automatically, under the standard constitution — one ticker, two sleeves trading independently at the walk-forward weight, frozen at inception. Two spawn checks run first: the fee floor (a blend whose minimum viable capital exceeds the $30k paper size would forward-test a strategy at a scale users cannot replicate — skipped, with the reason recorded) and the cumulative account cap (displace-or-skip). Every spawn, skip, and displacement is written to the tamper-evident fill chain.
  • The calibration countdown is public: the /calibration page now shows the Phase-2 gate re-earning its n≥30 in real time — X of 30 matured under the fixed classifier, with the pre-fix forecasts visible in the ledger but not counted, and the reason linked. We reset the clock on ourselves; now anyone can watch it run.
v1.9.141 ResearchAugust 2026

The transition corridor — instrumented, then advised

  • The fixed transition matrix taught us that nearly all regime changes pass through a corridor (moderate/range) rather than flipping direct — and overlap states are, by construction, where regime reads are least reliable. So the corridor is now a first-class, versioned read: the moderate band, a split stability ensemble, a regime run past 90% of its historical dwell (the matrix now stores full dwell deciles, not just medians), or a read under 10 bars old. Corridor state is stamped on every new walk-forward fold, optimization receipt, and paper-account fill (annotations ride outside the tamper-evident hash preimage) — stamp now, slice later: Edge Anatomy gains a settled-vs-corridor stratification as evidence accrues.
  • Restraint before advice: the corridor surfaces as an advisory, never a gate. The trade-prep risk check gains a non-blocking "transition corridor — consider doing less" line citing the structural facts (no forecast probabilities — those stay behind the calibration gate), and an amber corridor chip appears on the backtest regime banner and the position pattern-context panel. The handoff protocol (preset-rotation suggestions) and probability-weighted blending wait for corridor-conditioned evidence and the calibration gate, in that order — thresholds will be set by measurement, not taste.
v1.9.140 ResearchAugust 2026

The Regime Label Audit + the tuned-sleeve sweep, pre-registered

  • Label audit: three regime labelers exist by design (per-bar hysteresis for the radar and engines, a full-span CAGR+ER read for memory keys, and a ground-truth labeler for the harness) — and the doctrine that makes that safe is now enforced: every stored read, receipt, forecast, memory entry and hypothesis stamps which labeler and version produced its label. The v1.9.139 classifier fix changed engine behavior on regime-aware configs (the engine version bumps to 1.1.0, golden fixtures refreshed intentionally); pre-fix matrix crowns whose winning config consulted the broken labels are flagged "crown stale" wherever they surface and re-crowned in the background. Calibration honestly resets: the hash-chained forecast ledger keeps every pre-fix entry visible, but the Phase-2 gate re-earns its n≥30 on post-fix forecasts only — nothing deleted, everything re-earned. The audit also corrects its own reviewer: approval-queue, optimizer-memory and paper-account evidence keys on the unchanged labeler and stands.
  • Tuned-sleeve Blend Sweep with pre-registered survivor criteria: the sweep now re-runs with each ticker's newest Matrix composite params per sleeve — and because a 1,500-pair screen on held-out data guarantees chance survivors, the criteria were registered before the run (interior weight, beat BOTH pure sleeves out-of-sample by +0.05 Sharpe, and a hard top-3 graduation cap by OOS edge). "Structural blend" is now a charter family with its own nightly budget line carved out of the existing OOS ration — the sweep proposes, the constitution-bound pipeline disposes.
v1.9.139 ResearchAugust 2026

Moderate regime fixed + the Blend Sweep

  • Regime radar audit: the "Moderate Trend" state was a pass-through — its per-bar score was a flat constant that could never clear the switch trigger, so the radar jumped straight between strong-trend and range-bound. The score is now feature-driven and centered on the same boundaries as the ground-truth labeler. Moderate now dwells like a real state (median ~15 bars), direct up↔down confusion dropped to zero, and agreement with retrospective ground truth rose from 50% to 64%. The transition matrix recomputes with honest moderate rows.
  • Blend Sweep: the two-engine blend test now runs across the entire watchlist in the background — every stored ticker × every cross-engine pair, each engine simulated once and all pairs graded from cached curves. Same doctrine: weight chosen on the train window, graded out-of-sample. Survivors (blends that beat both pure sleeves OOS) surface at the top; expect few — an honest sweep mostly returns "redundant".
v1.9.138 ResearchAugust 2026

The Blend Lab — test the premise before the strategy

  • Regime transition matrix: the radar's own hysteresis labels, computed retrospectively across every stored ticker, answer an old trading intuition with data — do trends flip direction or glide through range first? First numbers: 70% of trend exits pass through range-bound; crypto flips direct 44% of the time vs 29% for equities. Split by asset class, n-gated rows, daily cache.
  • Two-engine blend test: pick a ticker and two engines, and the Lab combines their equity curves across the full weight grid — with the weight chosen on the train window and graded out-of-sample, because an "optimal 73/27" fitted to history just memorizes past regime frequencies. The verdict is printed honestly: collapses (same-family blends are one config wearing extra machinery), redundant (didn't beat the better pure sleeve), or non-redundant (a candidate for a paper account, not a conclusion). Includes the fee floor — below a computed minimum capital, two sleeves' trade costs eat the blend alive.
v1.9.137 ReceiptsAugust 2026

The scoreboard goes public — and the group chat gets its receipt

  • Public grading ledger: the How-We-Grade page now shows the Instant Verdict hit-rate — hits, partials and misses across every matured verdict, graded ~20 bars out against what actually happened. N-gated below 10 matured verdicts ("accruing — n of 10"), because the same rule applies to our own scoreboard: small samples lie confidently.
  • Batch share card: a batch verdict run can now be turned into one shareable scoreboard image — tips ranked by verdict (trade-worthy first, no-edge last) with confidence and friction stamps, copied to your clipboard and downloaded as PNG. The group chat sent you the tips; now you can send back the receipts.
  • Barren regime nudge: when every known-family child in a regime has failed grading (10+ attempts, zero survivors), the fertility board flags it and the charter's regime chip carries a warning — tweaking dead ideas there is wasted effort; the fix is more exploration or fewer slots.
  • Tour card anchoring: the guided tour tooltip now stays pinned on screen when you scroll away from its spotlighted element instead of drifting off the viewport.
v1.9.136 DisciplineAugust 2026

The ledger shows its housekeeping — and the family tree gets a leaderboard

  • Retention report line: the Autoresearch panel now carries a chip with last night's sweep counts — superseded entries purged, stale rejections compacted, old logs cleared — so the ledger staying lean is something you can see, not something you trust.
  • Lineage fertility leaderboard: parent ideas ranked by how many children they registered and how many survived, with habitat, best OOS delta and last-seen date. Survivor rates are n-gated below 3 children — small samples lie confidently. A hot parent means the optimizer keeps mining one idea; a barren board argues for raising exploration in the charter. Descriptive, not a grade — but it's the view the charter's exploration quota should be tuned by.
v1.9.134 DisciplineAugust 2026

The charter grows guardrails — and old decisions stop costing pixels (or disk)

  • Research Charter rebuilt as a structured form: regimes, modes and objectives are now clickable chips of the full known vocabulary — a typo'd regime can no longer silently vanish from probing. max_return is rendered but permanently locked with the doctrine stated on it: enforcement beats annotation.
  • Numbers now argue back: cross-field constraints are enforced on save (OOS budget ≤ hypotheses; exploration + engine switches ≤ hypotheses), each numeric shows what it implies inline (burn-to-ration ratio, exploration %, bar ceiling at current cadence), and a one-line nightly shape summary above the save button shows tonight's whole program at a glance.
  • Saving is now a ceremony: SAVE AS V(n+1) opens a field-by-field diff (old → new), requires a stated reason — the Gate Registry ethic applied to the charter itself — and stamps effect timing ("takes effect tonight 23:30 UTC; the old version governs until then"). Version history shows every diff with its reason: the research changelog, readable in hindsight.
  • The promotion bar field shows its own calibration status inline — survivor forward win-rate at the current bar, or "pending (n of 3 matured)" — wiring the charter to the evidence it's supposed to be tuned by.
  • Evolved Presets: decided rows (saved / rejected / superseded) collapse into a single closed-by-default expander — the queue shows decisions waiting, not decisions made. And a nightly retention sweep keeps the ledger lean: superseded queue entries age out after 90 days, stale rejected entries are compacted (never erased — the proposer still reads them), long-discarded hypotheses and year-old run logs are purged on fixed clocks.
v1.9.133 DisciplineAugust 2026

The tour stops blocking the room it narrates — and every candidate shows its family tree

  • Community guided tour is now fully non-blocking: every step lets you click the page underneath — Save/Reject on Evolved Presets work mid-tour instead of being trapped behind the spotlight overlay. Skip, Esc and the ✕ still dismiss it.
  • Lineage on hover: every autoresearch candidate grew a small branch icon — hover it for the jitter tree: where the candidate was born (memory jitter, crossover, exploration, engine switch), its parent idea's hash with how many children it registered and how many survived, and every family member within tolerance (pending, superseded, rejected) with scores and dates. Which parent keeps spawning survivors is now a one-hover answer.
v1.9.132 DisciplineAugust 2026

One idea, one decision — and every number says whose verdict it is

  • Evolved Presets queue collapsed: near-identical autoresearch survivors (jitters of one idea) now form a single family row — "N similar variants · best score" — with Save best and Reject all similar. One decision, not sixteen clicks. New survivors within tolerance of a queued sibling replace it (keep the best), never append, and the flooded queue self-heals on first view.
  • The proposer reads your decisions: hypotheses within family tolerance of an already-queued or already-rejected candidate are no longer re-registered — a rejection now teaches the research loop instead of just archiving a row.
  • Numbers reconciled: each autoresearch row now shows its OWN graded comparison from its research night (vs incumbent, datasets, pre-registered bar) — and the group's Self-Eval line is explicitly labeled as a re-run of the regime's memory candidate, which is what it always was. The override modal argues from the row's own evidence, not a different config's.
  • Decided rows leave the queue: accept or reject slides the row out immediately and it reappears under previously-decided below — the toast is confirmation; the row leaving is feedback.
v1.9.131 DisciplineAugust 2026

Intent meets outcome — and only the best jitter graduates

  • Intent × outcome board on the Positions page: your entry tags, exit tags and the automatic open-context stamps (board read at open, weak evidence, caveat showing, rules overridden) each get a bucket with average return and win rate — and no percentage prints below n=5. Small samples lie confidently; the board waits.
  • Tag backfill: untagged positions show "add entry intent" on their detail page. Tags are write-once, and a backfilled tag is journaled as "added after open — memory, not measurement," so the dataset stays honest about which half is which.
  • Dupe gate at graduation: near-identical autoresearch survivors (jitters of one parent) no longer all reach the strategy dropdown — only the best-scored member of each family shows. Nothing is deleted; every survivor keeps its paper account and forward grading.
  • Custom config promotion: run the wizard's "Backtest it first" and, once the run lands, one click saves your custom config into Yours labeled with its vetting date — it enters the dropdown carrying a receipt instead of "none yet."
v1.9.130 DisciplineAugust 2026

The final page can no longer outgrow the middle page

  • Stale risk check fixed: step 3 of the New Position wizard now re-runs the risk rules live whenever the campaign size changes — and if the numbers worsen past what you acknowledged on step 2, the acknowledgment expires and must be re-confirmed at the new numbers. A wizard whose final page silently outgrew its own risk check was the stale-verdict bug in miniature.
  • The two sizing doctrines are reconciled: when the Risk Manager's stop-distance suggestion exceeds your exposure-based campaign cap, the wizard says which constraint binds — "Use capped" applies the cap; taking the full RM size is an explicit breach that re-arms the acknowledgment.
  • Outcome mapping, both halves: every new position is automatically stamped with its open context (regime + age, board read, Instant Verdict, preset provenance, caveat shown, rules overridden) — captured by machine, zero tagging burden. And an optional intent tag at open ("why this entry?") plus exit tags at close ("why are you exiting?") extend the journal's measured-not-remembered promise to the variable traders misremember most.
  • The regime line now always shows its age ("· 26 bars in regime"), not just when the read is young.
v1.9.129 DisciplineAugust 2026

The verdict reaches the room where money enters

  • The New Position wizard now inherits the full four-question stack: the regime line carries a trust chip (⚠ young read / transitioning), and a Lab-verdict line shows your Edge Board read and the latest Instant Verdict — informational, never blocking, but present at the app's most consequential moment.
  • Weak-field honesty: when the "best evidence" preset has a negative OOS, the banner now says so — "best of a weak field, not a green light" — and the apply button carries the warning. Best-of-field was reading as an endorsement.
  • The pre-selected preset is now the regime-recommended one, so the evidence and the default agree instead of requiring a correction click. Identical autoresearch survivors in the dropdown are now tellable apart (equity fingerprint + approval date).
  • Customize parameters at open: an expander below the preset selector, pre-filled from your chosen preset — with range validation on every field, an honest evidence flip ("custom — no OOS evidence for this exact config · Backtest it first"), and journal provenance recording "custom, derived from {preset}, unvalidated at open." Presets carry receipts; custom carries a truthful none-yet. The post-open editor got the same range guardrails.
v1.9.128 DisciplineAugust 2026

The verdict-object audit — and its one gap, closed

  • We audited all six verdict surfaces against the doctrine "one verdict object, inherited everywhere." Five held: the Matrix crown IS the adjudicated object; the Verdict Bars on Backtest and Compare read it directly; the watchlist board and Instant Verdict compute independently by design (different questions) but both cross-reference the crown visibly, so disagreement is never silent.
  • The one gap: Tune Parameters. You could tune a single engine to a "robust" verdict while the Matrix had crowned a different engine — silently. The Verdict Bar now sits on the Optimize tab too, and turns amber when the engine on your bench isn't the crowned one: "a great tune of the wrong engine is still the wrong engine."
  • Admin console: the Morning Brief engagement section now shows the 7-day open-channel split (web only / email only / both), so the 60-day keep/fold decision counts inbox readers fairly.
v1.9.127 ProductAugust 2026

One watchlist board, one less tab

  • Board unification: the regime scanner rows and the 5-engine rank table are now ONE board — every watched ticker gets a single row carrying its price, weekly move, current regime, last-known edge and (once raced) the full rank metrics. The one-in-one-out debt for Instant Verdict, paid.
  • A/B Sessions retired as a tab: "did my parameter change help?" now lives inside Compare as "Compare two saved sessions" — same tool, same data, one less place to look. Old links land on Compare with a moved notice.
  • Batch verdicts now carry your Edge Board read on every row (✓ EDGE / ✗ NO EDGE / ⚠ GATED), so a pasted tip list shows both vocabularies at a glance.
  • Morning Brief opens are now counted across web AND email (open pixel), so the 60-day keep/fold decision will rest on how people actually read it — many never leave their inbox.
v1.9.126 DisciplineAugust 2026

One fact, one row — and the verdict card learns the board's language

  • The "Needs your attention" list no longer shows the same unrecovered spike twice: a ticker that re-triggered CAUTION on a later day now keeps only its newest row.
  • The Instant Verdict card now shows your Edge Board read (✓ EDGE / ✗ NO EDGE / ⚠ GATED, with its OOS Sharpe and rank date) right under the verdict — plus a "how these map" legend explaining that the two vocabularies grade different questions, and that the deeper run outranks the rapid read when they disagree.
  • Every FRICTION chip (card and batch rows) now defines SURVIVES / SENSITIVE / FRAGILE on hover, and the stability score discloses its basis: a descriptive radar composite, shadow-graded nightly — not a calibrated flip probability.
  • Paper Lab: a footnote now explains why a young account can show 0 fills while its value moves — the genesis allocation isn't counted as a fill.
v1.9.125 AccountabilityAugust 2026

The split sweep goes nightly — and deep drawdowns glow red

  • The unadjusted-split detector from v1.9.124 now runs every night across every watchlist ticker, healing corrupted price history before anyone reads it. Its first pass caught and repaired four more silently-broken series (AVGO, NFLX, XLE, NVDA) — over 1,900 bars corrected, every change audit-logged.
  • In the Instant Verdict window table, any Max DD worse than -50% now glows red — the survivability danger reads at a glance, right next to the Sharpe it undermines.
v1.9.124 AccountabilityAugust 2026

The MUU incident: split-proof price data and a survivability gate

  • A user caught an Instant Verdict showing a +1.95 Sharpe next to a -98.4% max drawdown. Root cause: the ticker (a 2× leveraged ETF) did a ~20:1 forward split, and our incremental price cache kept the pre-split bars at the old scale — faking a -95.8% overnight crash that never happened. The store now detects suspected unadjusted-split gaps and self-heals by re-fetching the full adjusted history; genuine crashes survive the re-fetch and stand.
  • If a suspect gap cannot be healed (provider down), the verdict now says so in capital letters instead of reporting numbers it cannot trust — and TRADE-WORTHY is off the table.
  • New survivability gate: if the recommended strategy sat through a drawdown worse than -50% on the longest window, the verdict is capped at WATCH — no real trader holds through a near-wipeout, so recovery-driven stats are flagged as unrealizable.
v1.9.123 ProductAugust 2026

The Operating Manual tour keeps its footing

  • Manual tour step 10 ("Size for the tail, then go live") now navigates to the Backtest tab — where the Risk-of-Ruin panel actually lives — instead of stranding you on the Dashboard. If you haven't run a backtest yet, it highlights the quickstart bar so you know where the panel will appear.
  • Fixed a collision where visiting Community mid-tour could auto-launch the Community mini-tour on top of the Operating Manual walkthrough, stacking two tour cards. The mini-tour now waits its turn.
v1.9.122 ProductAugust 2026

The Tip Inbox, sparklines that open up, and race-proof budgets everywhere

  • Tip Inbox: got a whole list from the group chat? Paste it into the Instant Verdict card — up to 10 tickers run as one batch, each returning its verdict chip with confidence and friction stress, every one logged and graded like any other verdict. Tap any row to open the full receipt.
  • Click any sparkline in the Verdict Log to open the full paper-vs-Buy&Hold chart: the $10,000 auto-pause floor marked in red, the 20-bar maturity line, and the exact pause rules spelled out underneath.
  • The race-proof atomic budget reserve introduced in v1.9.121 now protects Compare, Optimize, Sensitivity and the Matrix too — concurrent requests can never slip past your daily caps, and cancelled or failed runs are always refunded.
v1.9.121 AccountabilityAugust 2026

Code-review sweep on the verdict subsystem

  • A full functional review of the new verdict machinery, findings fixed same-day: retired verdicts could resurface on the decision board after a daily refresh (they now stay retired), and a malformed ticker could produce a raw server error instead of a clean message.
  • The daily verdict budget now uses an atomic reserve-then-refund: concurrent requests can no longer slip past the cap, and failed lookups still never burn budget. Nightly grading now covers logged and paused verdicts too — not just tracked ones — so "graded either way" holds even if you never open the panel.
  • Sparkline paper-vs-B&H lines are now sampled on a shared axis, and the in-card Matrix re-run reports honestly if the job outlives the wait window instead of re-verdicting on a stale crown.
v1.9.120 ProductAugust 2026

Drift you can see, and a nudge at exactly the right moment

  • Every tracked verdict in the Verdict Log now carries a sparkline: paper equity in violet against Buy & Hold in grey, since the day the verdict was issued. Divergence — the drift that triggers auto-pause — is now visible at a glance, no numbers required.
  • After your third backtest, a one-time gentle nudge offers the 2-minute Operating Manual tour — the 10-step discipline between a good backtest and going live. Shown once, never again, and skipped entirely if you’ve already taken the tour.
v1.9.119 ProductAugust 2026

The stress-gate, the decision board, and the manual that walks you through itself

  • Friction stress-gate inside every Instant Verdict: the recommended strategy is automatically re-scored under 2× commissions, 3× slippage and full taxes. If the edge dies, a would-be TRADE-WORTHY is downgraded on the spot — with the reason stated first.
  • Track anything you act on: any verdict — not just TRADE-WORTHY — can now be paper-tracked with one click, from the verdict card or the log. The Verdict Log became a weekly decision board: promote-ready rows keep their one-click Promote, paused rows now ask for a decision — Resume (after re-validating) or Retire.
  • Stale Matrix crown? The verdict card can now re-run the Matrix and re-verdict itself in place — fetch, tune, re-read — while you watch the progress. No tab-hopping.
  • The 10-step Operating Manual is now a live guided tour: launch it from the Learn section and it walks you screen by screen through the full discipline, ending on the 2-step Autopilot shortcut.
v1.9.118 ProductAugust 2026

Instant Verdict now consults the Matrix crown — honestly

  • A sharp user question: shouldn’t the Instant Verdict use the multi-criteria Matrix results? It should, and now it does. When a fresh community Matrix crown exists for the ticker, a second lane runs the crowned config across the same windows — and if it holds everywhere, it becomes the recommended strategy, able to upgrade the verdict on the strongest evidence in the lab.
  • The honesty trap, respected: crowned parameters were fitted to this ticker, so windows overlapping the Matrix tune data are marked as receipts of the fit, not proof — while bars since the tune date are reported separately as true out-of-sample.
  • Stale crowns get an honest amber chip with a one-click Matrix re-run; research-only crowns (failed deploy gate) are never auto-applied; no crown shows a "Run the Matrix" pointer. The verdict card and the Compare screen’s Verdict Bar now speak with one voice.
v1.9.117 ProductAugust 2026

The Operating Manual, the tail you must survive, and verdicts that grade themselves

  • New Learn section + printable one-page desk checklist (PDF): the full 10-step manual discipline, the 2-step Autopilot alternative, and exactly why Instant Verdict windows under 6 months are a glimpse, not evidence.
  • Risk of Ruin panel on every backtest: max drawdown across dozens of rolling ~6-month windows — median, 1-in-20, and worst. Size for the worst window; the median never saves you. Plus a Friction Stress Test: your exact config re-scored under 2× commissions, 3× slippage and full short-term taxes before you size up.
  • Every Instant Verdict is now logged and graded out-of-sample ~20 trading days later — hits AND misses, permanently. TRADE-WORTHY verdicts auto-track as a $10k paper deployment with live-vs-backtest drift monitoring, auto-pausing the moment the trend turns fragile or the edge is lost.
  • The Verdict Log’s weekly digest surfaces configs that kept proving out with a one-click Promote to live, and any verdict can be shared as a public receipt card — the evidence behind your call, caveats baked in.
v1.9.116 ProductAugust 2026

Instant Verdict: an honest read on any tip, in seconds

  • Someone gave you a ticker and the itch to act NOW? The new Instant Verdict card on the Dashboard answers before the impulse does: TRADE-WORTHY, WATCH, WAIT or NO EDGE — built from the current regime read, trend-stability radar, and the regime-fit strategy held across your chosen time windows, friction-aware and measured against just buying it.
  • You pick the evidence windows — 1, 3, 6, 12, 24 or 36 months, in any combination. Short-only selections are graded honestly as a GLIMPSE: too few trades for a meaningful Sharpe, and a full TRADE-WORTHY is only issued when at least a 6-month window backs it.
  • Every verdict auto-enrolls the ticker on your watchlist (tier caps respected), so the nightly radar, edge tracking and re-validation keep deepening the evidence after the moment passes. Free on every plan, with per-tier daily limits — and repeat asks on the same day never burn your budget.
v1.9.115 AccountabilityAugust 2026

One currency per decision: evolved candidates are Sharpe-sourced only

  • Follow-up to v1.9.114, again from a trader’s sharp eye: labeling the units wasn’t enough — a CAGR % row sitting next to a Sharpe row inside one decision still invites an apples-to-oranges comparison. Evolved candidates are now sourced exclusively from Sharpe-scored optimizer memory, so every row in a decision speaks the same language.
  • Modes whose only memory comes from cagr or drawdown runs stay hidden until a Sharpe-objective optimize exists for them — and previously mis-sourced pending rows are pruned automatically on the next generation. Your saved and rejected decisions are never touched.
  • Research candidates with a deliberately different objective (like drawdown-averse) keep their explicit badge — that’s a declared experiment, not a unit mix-up.
v1.9.114 AccountabilityAugust 2026

A 15% CAGR is not a 15 Sharpe: objective-aware memory scores

  • A sharp-eyed trader asked why some "memory OOS" values read 12.9 or 23.5 — implausible Sharpes. They weren’t Sharpes: they were CAGR percentages from cagr-objective optimizer runs, displayed unlabeled next to Sharpe-scale numbers. Every memory OOS score now carries its unit (Sharpe, net Sharpe, CAGR %, max DD %).
  • The real bug underneath: candidate selection compared raw scores ACROSS objectives, so a 15% CAGR always "beat" a 1.4 Sharpe and evolved candidates were systematically sourced from CAGR runs. Selection now ranks within the same objective, with Sharpe-family objectives preferred — this fixes both Evolved Presets and Self-Eval candidate sourcing.
  • The corrupted-memory tripwire is objective-aware too: a legitimate 60% CAGR is no longer at risk of being quarantined as "not a plausible Sharpe", and drawdown-objective scores get their own bounds.
  • Existing pending candidates regenerate under the corrected ranking; saved and rejected decisions are untouched.
v1.9.113 AccountabilityAugust 2026

Receipts that know who tried them — and a loop that tracks itself

  • The receipts line now tells the whole truth: "tried by you" when the only evidence is your own run (self-evidence is not community corroboration), "too early to judge" under three attempts, and amber styling when every attempt failed.
  • Collapsed preset decisions can no longer hide their gate status: below-bar candidates carry an amber "BELOW +0.05 BAR" chip right on the collapsed header, and NO BENCHMARK is called out the same way.
  • The loop strip is now stateful — check receipts, run a side-by-side, walk-forward, share back, and each step earns its tick. Applied Self-Eval rows gained a one-click "Walk-forward →" button.
  • Decisions Waiting now leads with the number that matters (decisions, not variants), the try-it button got real button chrome, every SAFE/EQ/MIN/ATRk chip explains itself in plain English on hover, and the last "Approve" ghosts from the old vocabulary were cleaned out.
v1.9.112 ProductAugust 2026

The card remembers what you did — and Consensus gets its right name

  • The Top Promotable card now shows a "✓ applied" chip when its candidate is the one you currently have applied, and the CTA flips to "Re-run side-by-side" — no more coming back tomorrow and wondering whether you already acted on it. The memory survives backtests and browser restarts, and clears when you Undo.
  • Lab Consensus is now Community Consensus — the Lab moved into Community long ago; the name finally followed.
v1.9.111 ProductAugust 2026

The Community page now teaches its own workflow

  • A six-model design council reviewed the Community page; we shipped their consensus fixes. The page now renders the loop it always preached: Digest → check receipts → try on your ticker → walk-forward → share back — with a clickable loop strip up top and an expanded guided tour.
  • Receipts can’t be skipped anymore: the Top Promotable card always shows its transfer evidence — including an honest "no receipts yet, you’d be the first" state — and the empty Transfer Map now recruits the first share instead of shrugging.
  • Safer decisions: saving a below-bar preset now requires an explicit "I understand this overrides the promotion bar" acknowledgement, and Approve was renamed Save preset so it can’t be confused with Apply.
  • Less noise: the digest is re-bucketed into "Your decisions" vs "Collective pulse", Evolved Presets collapse to one decision per regime, the Edge Board gets a frozen header and honest "showing top N on your tier" count, and Plateau Map cells are now tap-to-pin (no more hover-only details).
  • New in Learn: "How to use Community — the five-step loop", the full workflow in plain English.
v1.9.110 ProductAugust 2026

Regime Change Radar + the Transfer Map

  • The Morning Brief now carries a Regime Change Radar: one trend-stability score (0–100) per watched ticker, blending the calibration-proven stability ensemble with structural reads (Hurst persistence, Bollinger squeeze, regime age). When the two halves disagree, the radar says so and downgrades itself to WATCH — mixed signals are the finding, not noise.
  • Every verdict ships with its natural next step attached: FRAGILE points you at community candidates for the regime that may be next; WATCH says re-backtest before adding size; STABLE suggests walk-forward-validating while conditions hold.
  • The radar grades itself: a pre-registered rule scores every nightly read out-of-sample (did the regime actually flip within 15 bars?) — the calibration ledger is one click away, and until it matures the radar tells you to treat it as uncalibrated.
  • Community gains a Transfer Map: which regimes’ candidates travel well across tickers and which stay home, built from anonymous shared try-it results.
v1.9.109 AccountabilityAugust 2026

Transfer evidence, one click deeper

  • The "tried by N traders" line on the Top Promotable card is now clickable: it expands into a per-ticker breakdown — how many tried each ticker, whether the candidate held or failed there, and the median Sharpe change.
  • Still anonymous, still outcomes only: you see where the candidate transferred and where it didn’t, never who ran it.
  • Failures stay on the board — a candidate that held on SPY but failed on QQQ tells you more than a highlight reel would.
v1.9.108 ProductAugust 2026

Prove it, then share it: walk-forward from the try-it dialog + transfer evidence

  • The try-it dialog’s verdict now carries a one-click "Walk-forward it" button — jump straight into Optimize with the candidate applied and let out-of-sample folds judge it, not a single backtest.
  • Share your side-by-side result back to the Community — anonymous outcome data only (ticker, regime, before/after metrics, held or not), win or lose. Respects your Community Contribution opt-out.
  • The Top Promotable card now shows real transfer evidence: "tried by N traders on M tickers — held on K", so candidates earn trust from receipts, not hype.
v1.9.107 ProductAugust 2026

Apply Candidate now answers "so what do I do next?"

  • Clicking Apply Candidate opens a try-it dialog: pick your ticker and it runs your previous parameters and the candidate side by side — Sharpe, CAGR, max drawdown, vs buy & hold — with an honest verdict either way.
  • A persistent sidebar banner reminds you a community candidate is applied until you backtest it or undo — silently-changed parameters can’t sneak up on you anymore.
  • One-click paths from the result: keep it and open the full backtest, or undo back to exactly where you were.
v1.9.106 ProductAugust 2026

Fragile presets now warn their authors — and the Plateau Map fills itself

  • Gallery presets get re-raced nightly on a deterministic sample tuned to their regime. If a preset’s parameter neighborhood decays into a fragile spike, the author gets one honest email on the transition — not a daily nag.
  • The community Plateau Map now seeds itself: dense sensitivity grids run nightly over the paper-trading universe across all five engines, so the engine × regime picture fills in even before members run their own refines.
  • Full launch dry-run re-armed on the now-green suite for the pre-launch checklist.
v1.9.105 ProductAugust 2026

Fragile winners now get called out automatically — and the community maps where edges are robust

  • Every optimize run now grades its own winner’s parameter robustness: a plateau banner in the results tells you at a glance whether you’re on a robust plateau, a moderate ridge, or a fragile spike — before you deploy anything.
  • New Plateau Map in Community → Collective evidence: median robustness pooled across all accounts by engine × regime. See where wins are structural and where they’re narrow spikes — cells stay gated until 5+ readings, as always.
  • Dense Refine Grid readings feed the same map, so Pro refinements sharpen the community picture.
v1.9.104 ProductAugust 2026

Is your winner a plateau or a spike? Refine the grid and see

  • New "Refine Grid" on the Optimize sensitivity heatmap (Pro/Premium): a dense 13×13 sweep around your winner — 169 combos — turns the coarse view into a landscape you can actually read.
  • It comes with a plateau score and an honest verdict: robust plateau, moderate ridge, or fragile spike. A winner whose neighbors score like the floor is overfit to exact values — the shape tells you before live trading does.
  • Runs in the same guarded compute slot as the optimizer and counts as one optimize run, so refining never slows anyone else down.
  • New users now get the edge-alert email preview right inside onboarding — see exactly what you’ll receive before your first alert ever fires.
v1.9.103 ProductAugust 2026

See the exact alert email before the first one ever lands

  • New "Preview Edge Alert" in Settings → Alerts: the watchlist edge-shift email — subject line, body and Telegram version — rendered from the very same templates the nightly job uses, with representative sample events.
  • One click sends the sample through your real channels, so you can check deliverability and formatting in your actual inbox before trusting your first live alert.
  • "Send me a sample of every alert" now includes the watchlist edge shift too — eight templates in one click.
v1.9.98 ProductAugust 2026

The watchlist ranking becomes a full decision surface

  • New "Regime now" column in the Compare-All ranking: one cell, three channels — arrow for direction, word for regime, ⚠ for transition or habitat shift, bars-in-regime in small text. The ensemble numbers stay on hover until calibration graduates them.
  • Habitat-shift flag: when a validated edge was ranked under one regime and the ticker now reads another, the row says so — the edge (climate) may stand, but the moment (weather) has moved. Re-rank before acting.
  • "Ready to act" chip on the verdict line: validated edge + still in its ranked regime + solid read + no spike gate, composed into one click-to-filter count.
  • The regime banner and transition chips now deep-link to the "Regime vs trend" Learn article — help lives exactly where the label confuses people.
v1.9.97 ProductAugust 2026

Regime vs trend, untangled

  • New Learn article: a trend says which way price went; a regime says what kind of market it is — direction plus volatility plus path quality. Two of the four regimes aren’t trends at all.
  • It also explains what happens at turning points: why the label doesn’t flap (hysteresis, dwell, early-warning flags), why two users’ windows can honestly disagree, and how conflicting reads are reconciled by forward receipts — never by averaging.
  • Sits in the Reference tier beside "Weather vs climate" and "Regime confidence & transition risk", completing the regime trilogy.
v1.9.95 ProductAugust 2026

Read a whole results row without a finance degree

  • New Learn article "Reading a results row": CAGR (the growth speedometer), Max Drawdown (the survival test) and vs Buy & Hold (the honesty check) — in plain English, with the ways each one lies to you when read alone.
  • Hover tips added to the CAGR, Max Drawdown and vs Buy & Hold columns across Compare, Optimize, the Matrix, Portfolio, Watchlist races and A/B Sessions — each deep-linked to the full explainer.
  • Together with the Sharpe article, every column a beginner meets in their first session now explains itself on hover.
v1.9.94 ProductAugust 2026

The Sharpe Ratio, finally in plain English

  • New Learn article in the 5-minute tier: what the Sharpe Ratio actually measures (return per unit of risk), how to read the number, and the window caveat every backtester should know.
  • Every Sharpe column across the app — Compare, Optimize, the Matrix, Portfolio, Watchlist races and A/B Sessions — now carries a hover tip with the reading guide, deep-linked to the full explainer.
  • The explainer matches how this lab computes it: 0% risk-free rate on purpose, annualized, identical footing for every engine and window — plus why validation trusts OOS Sharpe, not the in-sample number.
v1.9.75 ProductAugust 2026

Community becomes something you discover

  • Community moved to the Discover section of the sidebar, beside Learn — Research is back to being purely your own workflow (Backtest → Compare → Optimize → A/B → Allocator).
  • The Community digest now leads with outcomes: validated edges on the board, the top promotable candidate, decisions waiting on you, and what changed since your last visit — parameter inventory stays in the engine room.
  • Candidate rows compressed to decision-essentials (incumbent → candidate, delta, verdict, Approve/Reject); full parameters sit one click away. When you have decisions pending they lead the page; otherwise the collective evidence does.
  • The guided tour now introduces Community: see what every other trader’s testing has already validated — before you test it yourself.
v1.9.74 ProductAugust 2026

Evidence and Strategies start talking to each other

  • Cross-pollination: the Edge Board now shows “traders who ran these edges also shared…” — shared strategies whose best-fit regime matches the tickers on the board, one click from Evidence to the exact card in Strategies.
  • Strategy cards return the favor: each one lists the Edge Board tickers raced under its best-fit regime (✓ = edge validated in its latest window), linking straight back to Evidence. Only regimes present on both sides link — no invented matches.
  • The marketing site’s collective-intelligence copy now points at Community by name, so the promise on the homepage matches the tab in the product. Admins get a dedicated Lab tab for the engine room.
v1.9.73 ProductAugust 2026

The Lab becomes Community

  • The Lab tab is now Community — led by outcomes, not machinery: what the collective learned this week up top, your pending preset decisions right below it, and the Edge Board, Consensus and Edge Anatomy evidence one click deep.
  • Shared strategies moved in from the Gallery, so there is one community home: Evidence and Strategies, side by side.
  • Your approvals stayed yours — the review queue follows you (Community strip + a Dashboard attention item), while the system internals (optimizer memory, gate win-rates, robustness) moved to the Admin engine room where they belong.
v1.9.72 AccountabilityAugust 2026

Verdicts never leave the record

  • Graded receipts got a permanent archive: every matured verdict — hit or miss, pick or control, voided entries included with their reasons — stays browsable after it leaves the countdown chips. History is never pruned.
  • The Monday ops email gains the per-asset-class hit-rate tally the moment any class has graded receipts — counts until each cohort reaches n≥5, rates only after, same rules as the console.
v1.9.71 ProductAugust 2026

Filter by class, audit from your inbox

  • The structural board now filters by asset class the way it filters by sector — one chip isolates equities, ETFs, leveraged wrappers, bond funds or crypto ETPs.
  • The Monday ops email carries the pick↔control pairing table for every pending cohort, so the class-matching audit that caught last week’s violation now arrives in your inbox unprompted.
  • Board diffs stopped paginating through nothing: a same-run selection or a changeless comparison collapses to a one-line notice instead of dozens of no-op rows.
v1.9.70 AccountabilityAugust 2026

The audit table confessed, we acted

  • The pairs audit caught crypto ETPs hiding under plain equity tickers (BTC and ETH are Grayscale mini trusts, not companies) — they now class as crypto, and the startup repair voids any mismatched ungraded control and enrolls a true same-class replacement before the cohort matures.
  • Plain index/sector/country ETFs became their own control class and no longer pollute sector heat — a Financial chip now means financial companies, not IWM and gold miners wearing a Finviz wrapper label.
  • Leveraged wrappers carry a standing badge on the board: ⚠ leveraged — volatility-drag decay mimics mean-reversion, so a high habitat score on a 3× fund reads as the wrapper warning it is.
v1.9.69 AccountabilityAugust 2026

Three channels, three meanings

  • Screener regime cells now separate their channels: color carries fit with the mean-reversion thesis, ▲/▼/↔ arrows carry market direction, and ⚠ carries the timing conflict — clicking it jumps straight to the weather-vs-climate explainer in Learn.
  • Board diffs now adjudicate composition: when the universe changed between two runs — by version stamp or funnel shift — the diff says so up front, and entrants sort by score instead of pretending alphabetical is impact.
  • The receipts panel gained a show-pairs audit (per-run, per-class pick↔control reconciliation) and a gate-grade line that will compare picks enrolled under the conflict gate against pre-gate picks the moment it activates.
v1.9.68 ProductAugust 2026

Weather vs climate, explained where you learn

  • The Learn tab gained a weather-vs-climate card: regime reads are weather (~120 bars of right now), structural metrics are climate (a 252-bar year of character) — and when they disagree, the ⚠ flag is a timing signal, not a disqualifier.
  • The screener’s conflict gate is now wired end-to-end: the day the ⚠-flagged receipt split matures on both sides, the promote gate is auto-pre-registered in the Gate Registry with the evidence cited — or, if the evidence doesn’t support it, that verdict is published instead. Either way, ops hears about it the same night.
  • The ⚠ conflict glyph now renders on every conflicted row — including boards scored before the flag existed — derived from the same regime-and-Hurst rule, so color is never the only channel.
v1.9.67 AccountabilityAugust 2026

Evidence before gates

  • Conflict-flagged screener picks are now tagged in their receipts at enrollment, so their out-of-sample hit rate accrues separately — the evidence base a future promote gate must cite before it can exist.
  • Universe composition changes now ping ops the night they happen, so a data-source outage can never quietly reshape the board.
  • Housekeeping from review: the TREND column is now SCORE TREND (it always charted score history, not price), the ⚠ conflict glyph sits on the regime label itself instead of color alone, and sector heat chips show their sample size on every chip in both themes.
v1.9.66 ProductJuly 2026

Weather vs climate, adjudicated

  • Sign-in first: the login page now opens in sign-in mode for returning users — create-account is one click away and pricing CTAs still land on signup.
  • Internally, the structural screener learned to adjudicate its own tension: a ⚠ flag marks names whose current regime read (a strong trend) contradicts their long-run mean-reverting structure — a timing flag, not a disqualifier, with the window distinction spelled out in the legend.
  • The screening universe is now versioned like the Gate Registry — composition changes are logged with an effective date, and board diffs that cross a version boundary say so, so a data-source shift can never masquerade as a market move.
v1.9.65 AccountabilityJuly 2026

The board earns its way onto the homepage

  • A structural-board teaser now lives on the marketing site — but it renders ONLY once screener picks beat their matched controls out-of-sample, and it always shows yesterday’s board, never the live one.
  • Bond ETFs became their own control class (a bond wrapper is not equity risk), and the receipts panel now tallies pick-vs-control hit rates per asset class — counts until each class reaches its n-gate.
  • The nightly fetch budget rose from 25 to 150 names, cutting the full universe sweep from ~154 nights to ~26, and the Monday ops email now carries the paste-ready X thread for the week’s movers.
v1.9.64 AccountabilityJuly 2026

Controls that actually compare

  • Screener control cohorts are now matched by asset class — equity picks race equity controls, crypto races crypto, leveraged ETFs race leveraged ETFs — so the out-of-sample grade measures structure selection, never asset-class volatility.
  • Two ungraded mismatched controls were voided and replaced with same-class names, on the record. Graded receipts were not touched — they never are.
  • The nightly fetch budget now rotates through the full Stage-0 backlog instead of a static top slice, and the board header publishes its exact coverage each run.
v1.9.63 ProductJuly 2026

Keys learn new tricks

  • Existing API keys can now adopt newly launched scopes straight from Settings — one click adds screener:read, no re-minting, no downtime for your agents.
  • The developer quick-start gained a copy-paste screener example, with the structural disclaimer spelled out right in the snippet.
v1.9.62 ProductJuly 2026

The structural board opens to the API

  • The Premium API and MCP server gain a read-only screener endpoint (scope screener:read): the full structural ranking with every metric, sector and regime riding along.
  • The disclaimer is part of the data — scores measure structure (choppiness, mean-reversion, trendiness), never expected returns, and the dual-control grading status ships inside every response.
v1.9.60 ProductJuly 2026

The mover gets a face

  • The structural board’s weekly top climber now has a public share card — structure metrics only, control-group caveat baked into the image, never a return claim.
  • Internally: a sector funnel above the board, the full CSV ranking attached to the Monday ops email, and a history flip to walk back through past nightly boards.
v1.9.59 ProductJuly 2026

The board earns context

  • Every ranked ticker on the internal structural board now carries its sector, and the public regime report card shows the week’s biggest structural climber — a small, live glimpse of the machine working.
  • Pending screener receipts display an exact days-to-verdict countdown, and any pick can be pushed onto a watchlist in one click so the nightly edge races start covering it immediately.
v1.9.58 AccountabilityJuly 2026

The screener steps into public view

  • The How-we-grade page now carries the screener’s dual-control teaser: pick-vs-control hit rates publish automatically once both cohorts reach five graded receipts — whichever way the gap lands.
  • Internally, every ranked ticker is one click from a full backtest or Matrix run, the board exports to CSV, and the Monday ops email opens with the week’s biggest structural movers.
v1.9.57 DisciplineJuly 2026

The screener watches itself

  • Board churn is explicit now: every ranked ticker shows its rank move vs the previous run, its current market regime, and its score trend.
  • The moment the first pick-vs-control cohorts finish grading, the verdict is pushed to the team automatically — before anyone can decide whether they like it. And no release ships anymore unless this changelog has an entry for it.
v1.9.56 ProductJuly 30, 2026

The screener sees the whole market — and this page exists

  • A market-wide Stage-0 widener grew the internal screener universe from ~6,900 to ~8,400 US names, including AMEX-listed ETFs the previous exchange listings missed.
  • This public changelog shipped — curated from the engineering history, internal plumbing omitted, discipline kept.
v1.9.55 DisciplineJuly 30, 2026

Even our internal screener gets a control group

  • A new internal structural screener ranks ~7,000 US tickers on market structure — choppiness, mean-reversion, trendiness — never on past returns.
  • Before any screener pick earns trust, it is enrolled in dual-control receipts: top picks against mid-ranked controls, both graded on out-of-sample re-races ~14 days later. No hit-rate is shown below five graded receipts per cohort.
v1.9.54 DisciplineJuly 2026

A robot now proofreads our units

  • An automated vocabulary gate scans every screen before release: the same quantity must wear the same unit everywhere ("pts" for point differences, engine names through one label map, no silent dashes without an explanation).
  • It caught six drift spots on its first run. They shipped fixed.
v1.9.53 ProductJuly 2026

One quantity, one story, every screen

  • A full reviewer coherence sweep: rank moves and benchmark gaps state their units, gated panels explain themselves when a tuned config survived where the preset failed, and receipt rows that predate regime stamping say so instead of hiding.
  • Ledger integrity over cosmetics: we annotate history, we never backfill it.
v1.9.51 PricingJuly 2026

Launch plans and a fair compute queue

  • Plans landed: Free, Pro at $79/mo, Premium at $149/mo — Pro leads with walk-forward validation, Premium with API & MCP access.
  • Compute fairness rules: cache hits and community-shared results never burn your daily budget, and background jobs always yield to your clicks.
v1.9.50 ProductJuly 2026

One verdict, one action

  • The Verdict Bar on Compare and Backtest surfaces the freshest cross-engine Matrix crown for your ticker: apply it in one click, re-run it if stale — or see an honest amber "research-only" when nothing is proven.
  • Crown-flip alerts: when the crowned engine changes on a ticker you track, you hear about it through your existing alert channels.
v1.9.49 PerformanceJuly 2026

The race got honest — and fast

  • The Dashboard race now optimizes all five engines — the exact candidate set the Matrix crown judges — so no screen can name a winner another screen would contradict.
  • Matrix jobs parallelized: a full multi-criteria matrix now completes in about 45 seconds instead of minutes.
v1.9.48 AccountabilityJuly 2026

We grade our regime detector too

  • Every optimizer verdict stamps the market regime the detector saw at issue. At maturity we record whether that regime persisted or transitioned — and score the verdict separately in each stratum.
  • The detector itself gets a public verdict (informative / inverted / indistinguishable) only once both strata reach five matured checks. Until then it says "not enough data yet".
v1.9.47 ProductJuly 2026

An optimizer with a memory — and receipts to prove it

  • Matured receipts now feed back into optimization: proven seeds get re-ranked first, and parameter dead zones with repeated failures are pruned from the search (with a safety valve).
  • "Proven on your ticker": anyone can check a symbol on the How-we-grade page and see its matured, publicly graded pool counts — or an honest "no gated pools yet".
v1.9.46 AccountabilityJuly 2026

Receipts learn what the weather was

  • Every receipt is stamped with the regime at issue and re-labeled at grading, so results can be stratified by whether the market changed underneath the decision.
  • Stamped now or lost forever — we never reconstruct the stamp after the fact.
v1.9.44 AccountabilityJuly 2026

The methodology went public before the score

  • The How-we-grade page shipped: hash-chained ledger, graded refusals, counts-never-percentages, versioned gates — published while the scoreboard still read zero.
  • Whatever the ledger says in a quarter, it says in public.
v1.9.41 – 1.9.43 DisciplineJuly 2026

Community pools and pre-registered gates

  • Matured receipts pool across users by ticker, engine and configuration tolerance — shared evidence, never shared identities.
  • The thresholds that judge every result live in an append-only registry. Any change must be pre-registered with a future effective date and cited receipt evidence, then graded only on receipts that mature after it.
v1.9.38 AccountabilityJuly 2026

The ledger begins

  • Every optimizer recommendation — and every refusal to recommend — is enrolled in a forward ledger and graded at 20 trading days, 60, and a quarter against the do-nothing alternative.
  • The grade measures the decision, not the stock: a call on a falling stock is right if it lost less than your baseline would have.

Curated from the engineering history — internal plumbing is omitted, discipline is not. All results referenced are hypothetical backtests and forward paper-grades, not live trading or advice.

Aim Volatility Labby Bao Research

Rules-based AIM backtesting for volatile markets. Compare engines, validate out-of-sample, and find out when your edge is fake.

Get in touch

Product

  • Overview
  • Pricing
  • Features
  • See a backtest
  • Live calibration
  • How we grade ourselves
  • Changelog

Company

  • About Bao Research
  • Contact

Legal

  • Privacy Policy
  • Terms of Use
  • Disclaimer

© 2026 Bao Research. AIM Volatility Lab. All rights reserved.

Contact the team

Backtested and simulated results are hypothetical, do not reflect live trading, and do not guarantee future performance. AIM Lab is a research and educational tool and is not financial, investment, or trading advice. AIM = Automatic Investment Management.

We respect your privacy

We use cookies and similar technologies on our website. Some are technically necessary for the operation of the site. With your consent, we also use cookies to statistically analyse the use of our website and to personalise content and advertising.

Settings

▼ Essential
Always active
Required for basic website functionality.
Biscotti CMP
Details ▼
Stores your cookie consent preferences
Provider:Biscotti CMP (Campcruisers GmbH)
Location:Campcruisers GmbH, Berliner Str. 21 B, D-14612 Falkensee, Deutschland
Storage duration:6 months
Purpose:Storage of consent decision as required by GDPR Art. 7
Legal basis:Art. 6(1)(c) GDPR (legal obligation)
Privacy:Privacy Policy ↗
Data transfer:No transfer to third countries — all data is processed on servers in the EU (Germany)
Biscotti CMP stores your consent choice in your browser's local storage (up to 180 days).
Consent ID: v_juxo18wq9memw9twv2u · biscotti_consent
Look up your consent data · 22:24 UTC