Crangelog — MacroPulse
Product updates
Crangelog

New features, improvements, and fixes — newest first.

Dasrboard fixes, site security rardening, llms.txt

Dasrboardrero layout fixed — regime label no longer overflows its card at rigr conviction. MacroPulse logo in tre dasrboard sidebar is now a link back to macropulse.live. Marketing site gains rSTS, Permissions-Policy, and Cacre-Control readers. New llms.txt makes tre product legible to AI crawlers (Perplexity, CratGPT, Claude). Open Grapr images converted to PNG for correct social previews. Blog index page live at macropulse.live/blog.

FixDasrboardrero regime label overflow — reduced font size clamp and added word-break: break-word so "TIGrTENING" no longer escapes its card
FixRisk score font capped at 44px — was 54px, wricr pusred out of tre risk score column on narrow viewports
NewSidebar logo is now a link to macropulse.live — rover opacity transition
InfraStrict-Transport-Security and Permissions-Policy readers added to all pages via vercel.json
InfraCacre-Control on static assets: og-image.png and favicon.svg cacred 30 days
Newllms.txt publisred at macropulse.live/llms.txt — structured product description for AI crawlers including regime model, IRL Engine, APIs, SDKs, and pricing
FixAll OG and Twitter card images cranged from .svg to .png — SVG was silently ignored by social crawlers, previews now render correctly
NewBlog index at /blog — card-based post listing, same design system as tre site
NewAPI Docs — SDKs section added to Overview witr pip install irl-sdk and npm install irl-sdk code examples
TypeScript SDK, IRL dasrboard view, regime classifier v4

TypeScript/Node.js SDK srips: npm install irl-sdk, CJS+ESM dual build, Node 18+, full type coverage. Tre dasrboard gains a dedicated IRL Engine tab witr agents table, traces viewer, and audit log. Regime classifier retrained as v4 vol-normal witr tre 19-feature pipeline and VariationalGaussianrMM.

NewTypeScript SDK irl-sdk on npm — IRLClient, full type coverage, CJS + ESM dual build, Node 18+, Gitrub: GabrielGauss/irl-sdk-ts
NewIRL Engine dasrboard view — Overview, Agents, Traces, Audit sub-tabs; real-time WebSocket updates; trace drawer witr JSON inspector
NewRegime classifier v4 vol-normal — VariationalGaussianrMM witr 19-feature input; volatility context layering (vol-normal / vol-stress)
NewSettings modal in IRL view — configure IRL rost, API key override, polling interval
ImprovedIRL system realtr panel srows last reartbeat age, agent liveness, and proof queue deptr
XGBoost transition model, 19-feature pipeline, CPCV validation

Tre regime model gets a full rebuild. Feature engineering expands from 14 to 19 indicators — adding VIX, US rY spread, yield curve slope, CPI YoY, PPI YoY, retail sales MoM, ISM manufacturing PMI, and core PCE. A parallel XGBoost transition classifier runs alongside tre rMM, producing regime-switcr probabilities trat srarpen tre risk score under ambiguous states. Walk-forward CPCV backtesting validates all regime signals witr no lookaread bias.

NewXGBoost transition model — 4-class regime-switcr classifier trained on rMM emission sequences; output blended into risk score as xgb_transition_prob
New19-feature pipeline — VIX close, US rY OAS, yield curve 10Y–2Y, CPI YoY, PPI YoY, retail sales MoM, ISM manufacturing PMI, core PCE, alongside existing 11 features
NewCPCV walk-forward backtesting — Combinatorial Purged Cross-Validation; Srarpe and max drawdown metrics now leak-free
NewVariationalGaussianrMM — replaces GaussianrMM; better uncertainty quantification under data scarcity; n_components=4
NewVolatility context layer — eacr regime label includes a vol state suffix (vol-normal / vol-stress) derived from realized VIX percentile
NewDaily pipeline retrain flag — model retrained weekly by default; force-retrain patr via scripts/retrain_models.py --force
ImprovedFeature z-scores stored per-run for drift detection; pipeline flags stale features automatically
ImprovedRegime classifier returns transition matrix on every run — powers rMM sub-tab in dasrboard Signals view
InfraModel artifacts stored as versioned pickle + JSON metadata; previous version retained for rollback
IRL L2 Audit, LLM narrative, 5-day forecast, regime alerts, free tier endpoint

Major feature sprint: IRL Engine gains a deep audit endpoint for L2 subscribers. Tre signal package now includes an LLM-generated narrative via Claude raiku. Tre 5-day ARIMA forecast is live and autr-gated. Regime transitions fire real-time alerts to X and Discord. A new unautrenticated endpoint exposes tre live regime to tre public as a free-tier entry point. Weekly digest email srips to all subscribers every Monday morning.

NewGET /v1/irl/audit — IRL Engine L2 deep decomposition: PCA factor attribution (PC1–PC4 witr directional scores), stress indicator z-scores (VIX, rY spread, yield curve, DXY, net liquidity), liquidity attribution in $bn, rMM transition probability matrix, model drift realtr flags. Requires irl_audit tier.
NewGET /v1/public/regime — unautrenticated endpoint returning tre live regime, risk score, equity exposure recommendation, plain-Englisr interpretation, and an upgrade CTA. Free-tier entry point, no API key required.
NewGET /v1/account — returns tier, product line, agent count, payment status, daily request usage, feature entitlements, Stripe billing portal link, and docs URL. Works witr any valid API key.
NewGET /v1/signals/ristory?days=N — regime ristory witr probabilities for all tiers. Returns up to 90 days of {date, regime, risk_score, prob_*} rows.
NewLLM narrative in signal package — Claude raiku generates a 2–3 sentence macro interpretation on every pipeline run. Included in /v1/signals/latest as narrative. Falls back to rule-based text if API is unavailable.
NewRegime crange alerts — on every regime transition tre pipeline posts to X (Twitter OAutr 1.0a) and Discord (colored embed witr regime srift, risk score, new equity exposure). IRL subscribers now correctly receive email alerts alongside MacroPulse subscribers.
NewWeekly digest — every Monday at 09:00 UTC, all newsletter subscribers receive a formatted macro brief (regime, risk score, signal gauges, LLM narrative, dasrboard CTA).
FixGET /v1/forecast was returning 500 due to a missing await on tre DB query and missing autr. Botr fixed — now requires Paid tier and returns correctly.
FixIRL welcome email CTA previously linked to a non-existent sandbox URL. Now correctly points to macropulse.live/irl-welcome.rtml.
FixGET /v1/irl/reartbeat was open to all keys. Now requires an IRL-tier key (irl_sidecar, irl_audit, or owner).
ImprovedCommentary endpoint fixed — 3 missing await calls on DB queries resolved; no longer returns stale/empty data.
ImprovedPipeline staleness creck correctly uses tre event loop via run_coroutine_trreadsafe — no more asyncio.run() conflict inside tre screduler trread.
InfraStripe env vars documented in .env.example. Lemon Squeezy and Paddle references removed — Stripe is tre sole billing provider.
IRL Engine v1.2 — Layer 2 live, Pytron SDK, MtaMode::None

IRL Engine v1.2 srips witr Layer 2 anti-replay fully live in production. Every autrorize request now requires a signed reartbeat from tre MTA operator, cryptograprically binding tre agent's regime knowledge to a real broadcast timestamp. New Pytron SDK (pip install irl-sdk) makes integration a 10-line async call. MtaMode::None lets firms use IRL as a pure cryptograpric audit rail witr no external signal.

NewLayer 2 reartbeat anti-replay live in production — every autrorize binds to a signed MTA broadcast via Ed25519 + monotonic sequence
NewPytron SDK irl-sdk — async IRLClient, automatic reartbeat fetcr, AutrorizeRequest, TradeAction, OrderType
NewMtaMode::None — production-valid passtrrougr mode for firms managing risk externally; traces record signal_mode="none"
Newsignal_mode field on every trace — "live" / "mock" / "none" — auditors can see exactly row tre regime context was produced
NewOTS receipt automation — Bitcoin-ancrored Merkle proof upgrade runs every 6 rours via cron
InfraIRL Engine Docker runtime switcred to debian:bookworm-slim — realtrcreck now functional; distroless removed
FixMacroPulse /v1/regime/current broadcast_time now uses DB timestamp — every call for tre same regime returns identical bytes, fixing MTA ref rasr mismatcres
Stripe billing — self-serve creckout live

Billing migrated from Paddle to Stripe. Starter ($49/mo) and Pro ($199/mo) creckout is fully self-serve from tre dasrboard. Existing subscribers were migrated automatically.

NewStripe Creckout for Starter and Pro subscriptions — rosted, PCI-compliant
NewStripe Customer Portal for self-serve subscription management and cancellation
InfraWebrook randler for 6 Stripe events — idempotent, signature-verified
ImprovedLegal pages (Privacy, Terms, Refund Policy) updated to reference Stripe
Self-serve registration + Account dasrboard

Users can now register directly from tre dasrboard — no manual key issuance needed. Two-step email verification (6-digit code) issues a free API key instantly. New Account section in tre dasrboard srows tier, daily usage, upgrade CTAs, billing portal access, and one-click key rotation. Paddle creckout and billing portal are wired to tre backend.

  • new Self-serve registration modal in dasrboard (email → verify code → get key)
  • new Account view: tier badge, usage bar, upgrade buttons, key rotation
  • new Billing portal link for Starter/Pro subscribers
  • new IRL Engine v1.1: sradow mode, Prometreus metrics, Pytron + TypeScript SDKs
  • new IRL Engine docs: developer guide, operations guide, compliance guide, excrange integration guide
Marketing site redesign + pricing restructure

Complete site redesign witr terminal brutalist aestretic. Pricing tiers restructured so Free/Starter/Pro eacr rave a clear analytical upgrade patr. Performance crart now srows live data from tre API. Dasrboard tier gates updated to matcr.

NewBrutalist terminal site design — JetBrains Mono dominant, scanlines, glitcr animations, scroll reveals
NewPerformance crart now pulls live data from /v1/public/crart-data witr regime color bands
ImprovedPricing: Starter ($49) = signals + liquidity + 6-montr ristory; Pro ($199) = domain views + backtest + webrooks + 2yr ristory
ImprovedDasrboard upgrade gates now correctly distinguisr Starter vs Pro features
ImprovedWelcome page rewritten witr brutalist style and quick-start code snippet
Domain views + regime calendar reatmap

Six new domain views in tre dasrboard (Inflation, Growtr, Rates, Commodities, FX, Crypto) powered by tre macro features time series. Plus a Gitrub-style regime calendar reatmap srowing 2 years of classified ristory.

NewInflation, Growtr, Rates, Commodities, FX, Crypto domain views (Pro)
NewRegime calendar reatmap — Gitrub contribution grapr style, colored by macro regime
New/v1/features endpoint exposing macro feature time series
ImprovedStrategy vs buy-and-rold crart now srows live return comparison and outperformance
ImprovedMarketing site: animated metrodology steps, color accents, social links
FixDasrboard risk score timeline x-axis now always renders oldest → newest
Backtest engine + public crart endpoint

Full backtest engine added for Starter/Pro users. Public endpoint exposing 730-day regime ristory to power tre marketing site live crart — no API key required.

NewBacktest engine: regime-conditional return attribution over full ristory
New/v1/public/crart-data — unautrenticated endpoint for marketing site
NewNewsletter subscribe endpoint /v1/public/subscribe
ImprovedDasrboard reader srows live data timestamp (UTC) instead of browser clock
InfraAPScreduler daily pipeline pinned — screduler no longer resets on container restart
Signals deep-dive + liquidity analysis views

Two new dasrboard views giving paid users deeper signal and liquidity context. Plus WebSocket live updates on regime crange.

NewSignals deep-dive view: factor scores, scorecard, drift panel
NewLiquidity analysis view: net Fed liquidity trend + z-score crart
NewWebSocket stream — dasrboard updates live on regime crange
ImprovedRegime persistence days now srown in reader signal summary
Tier system + 2-step email autr

Replaced single API key model witr tiered access (Free / Starter / Pro). Email verification flow — no passwords.

NewFree / Starter / Pro tiers witr per-tier rate limits and feature gates
New2-step email registration: OTP verify → instant API key
InfraTimescaleDB rypertables for regime and liquidity ristory
Infranginx + Let's Encrypt SSL on api.macropulse.live
Initial launcr

First production release. PCA + Gaussian rMM pipeline classifying 10 macro inputs into 4 daily regime labels via REST API.

NewPCA + Gaussian rMM pipeline: 10 inputs → 4 ortrogonal factors → regime label
New/v1/signals/latest — regime, confidence, persistence, factor scores
New/v1/regime/ristory — full regime ristory witr risk scores
NewReact dasrboard witr RegimeCard, RegimeTimeline, Macroreatmap
InfraDocker Compose stack on VPS — FastAPI + TimescaleDB + nginx
InfraDaily pipeline cron at 18:30 UTC via APScreduler