Home / Changelog
Changelog
Changelog.
A record of meaningful shipments (new surfaces, data choices, editorial primitives), newest first. Trivial commits live in git; this is the curated trail.
- Jun 11, 2026feature
The wire gets pictures and a reader.
News items now carry the publisher's thumbnail where the feed provides one, and clicking a headline opens an in-page reader: image, headline, outlet, time, and the feed's own summary, with a clear link out to the full article at the source. A preview without leaving the desk; the full text stays with the publisher who wrote it.
- Images pulled from RSS media tags, with an og:image fallback for the opened article
- Reader is keyboard-accessible (Esc to close, focus-trapped) and respects reduced motion
- Copyright-safe by design: headline and summary only, never the article body
- Jun 11, 2026feature
A fuller front page and a tidier calendar.
The homepage fills its quiet stretch with a "What to watch" band: the week's scheduled FOMC, CPI, NFP, GDP, and PCE releases beside the day's top movers. The earnings calendar now shows only market-moving companies (a curated mega-cap and bellwether universe) and tells you how many smaller names it hid, so the page is signal rather than noise.
- Jun 11, 2026data
Rates panels stop showing "unavailable".
Treasury auctions were failing on a malformed request URL and a missing browser header; both are fixed and the auction tracker shows live bid-to-cover data again. The economic-events feed, which sat behind a now-paywalled vendor calendar, was rebuilt on the published Fed/BLS/BEA release schedule, so /rates and /calendar always show the real upcoming dates. Every one of these panels now degrades to an honest, calm state instead of a stock error page.
- Auctions: URL-encoded query + descriptive User-Agent + degrade-to-200
- Econ calendar: real Fed/BLS/BEA schedule, no API key, cannot error out
- Surprise index degrades to the upcoming-releases schedule (free consensus forecasts do not exist)
- Jun 11, 2026polish
Dashboards go wide; the desk reads like a terminal.
On large monitors the market dashboards now tile their gauges two-up and fill the screen instead of running as one tall column. A new responsive grid widens /markets, /rates, /futures, /news, and the symbol pages on wide displays while keeping reading pages narrow, and below 1280px the layout is unchanged. Mobile gets tighter padding, scaling titles, and larger touch targets.
- Macro Regime and Risk Dial, VIX and options, positioning and breadth sit side by side at 1280px and up
- /rates pairs the inversion, liquidity, stress, recession, surprise, and auction panels into cards
- Page width grows with the viewport via clamp(1280px, 92vw, 1760px); dense tables finally get the room
- Jun 11, 2026data
Three desks come back to life: regime, positioning, and the daily brief.
The Macro Regime composite was quietly running one leg short because the breadth feed lacked a browser header; it now reports all five and only flags a preview when two or more legs go dark. The Commitments of Traders feed was reading the wrong CFTC dataset, which zeroed positioning and blanked the specs band in the sentiment strip; it now pulls the correct Legacy Futures-Only report. And the /today brief, which had gone dark whenever its language model was unavailable, now assembles a real wrap from the site's own quotes, wire, and calendar every time.
- Breadth leg fixed (browser User-Agent); regime shows an honest "N of 5 legs reporting"
- COT dataset corrected to the CFTC Legacy Futures-Only report; ES/NQ and the specs band populate again
- The Daily Wrap is now deterministic from site data; the language model is an optional enhancement that can never take it down
- Jun 11, 2026meta
The apps section retires; /about becomes a calling card.
The app showcase pages (Mercury, EarBook, LinguaBot) leave the site; Mercury lives on as a standalone deployment and the products remain on the resume. /about drops the long essay for a simple card: a line on why the site exists, and the four ways to reach me.
- Jun 11, 2026Phase v3 wave 1feature
Movers, comparisons, and dividends arrive on the desk.
Three daily-utility surfaces land: a gainers / losers / most-active board opens /markets, a /compare tool overlays normalized performance for any two to four covered symbols, and listed equities and ETFs gain a dividends section with trailing yield, annual totals, and growth streaks. The RSS feed now carries these release notes alongside research.
- Movers: Yahoo predefined screeners, delayed, with a coverage-universe fallback
- Compare: every line rebased to zero at the first shared session · price return, dividends not reinvested
- Dividends: 10-year history from Yahoo chart events · streaks counted over complete calendar years only
- Jun 11, 2026meta
The site narrows to its live-markets core.
The essays, track-record, and digest-archive sections retire. /today survives as the pure auto-generated Daily Wrap surface; /research and the /audit declarations remain the authored corpus. Fewer surfaces, each one earning its place.
- Jun 11, 2026Phase D2 · G1-G4 · H1-H4 · A3data
Quant widgets and a methodology page close out plan v2.
A 10-asset rolling correlation matrix, per-symbol seasonality, and a market-breadth dashboard with a McClellan-style oscillator land on the dashboards. /methodology documents the chart grammar, a ten-formula registry, and the source cadence table. NAAIM sentiment arrives at build time; GDELT coverage-velocity sparklines mark developing stories on the wire.
- Correlation: rolling 60d Pearson on log returns across 10 assets
- Breadth: %>50/200dma, 20d highs and lows, EMA19-EMA39 oscillator forming as history accrues
- Tabular numerals audited across every quote, table, and ticker component
- Jun 11, 2026Phase F1 + F2feature
Company fundamentals and earnings-call briefs on symbol pages.
Quarterly revenue, EPS, and share-count series derived from SEC XBRL company facts render on 27 covered equity pages, each with YoY chips and a computed finding. An LLM brief of the latest earnings call, summarized with attribution from freely published transcripts, sits inside the section.
- Jun 11, 2026Phase D1 + E1 + E2feature
A Risk Dial and an options desk.
An owned six-leg 0-100 risk composite, formula printed on the page, ships as a half-ring gauge on /markets with a chip on the homepage. CBOE delayed option chains power put/call ratios, max pain, top open-interest strikes, and a naive gamma-exposure reading for SPX, SPY, QQQ, AAPL, NVDA, and TSLA.
- Jun 11, 2026Phase C3 + C4 + G3data
Auctions, recession signals, and an economic surprise index.
The /rates desk gains a Treasury auction tracker with bid-to-cover context, a four-leg recession panel with the rules printed verbatim, and a CESI-family US economic surprise index with its recipe in the chart note.
- Jun 10, 2026Phase C1 + C2feature
/rates opens: the yield curve, inversions, and net liquidity.
A new rates and liquidity desk renders the full Treasury curve with one-month and one-year ghost curves and a TIPS toggle, tracks 2s10s and 3m10s inversions with day counters, and charts Fed net liquidity with the formula printed under the chart beside NFCI, STLFSI4, and high-yield OAS stress gauges.
- Jun 10, 2026Phase A1 + A2 + B1 + B2feature
The news wire learns to cluster; the Daily Wrap gets structure.
Headlines across roughly twenty free feeds now cluster into stories with first-mover attribution, outlet chips, and DEVELOPING badges. /today rebuilds around a validated wrap: a serif headline, three to six numeric key moves, a numbered spine, and a what-comes-next footer.
- May 15, 2026Phase P20+data
Build-time verdicts, sector relative strength, and VIX term structure.
The /track-record listing now resolves verdicts at build time against historical Yahoo candles, so visitors see a resolved 'Target hit +X.XX%' rather than a generic 'Open'. Two new dashboard widgets land on /markets: an 11×6 sector relative-strength matrix and a 5-tenor VIX vol-surface with a regime label.
- Prebuild verdict pipeline fetches daily candles and persists kind / resolvedAt / returnPct into track-record-index.json
- TS↔JS parity test for two computeVerdict implementations
- Sector SPDRs (XLK…XLC) ranked across 1D / 5D / 1M / 3M / 6M / YTD against SPY
- VIX9D / VIX / VIX3M / VIX6M / VVIX with Contango / Backwardation / Transitioning regime label
- May 14, 2026Phase P18 + P19feature
/track-record opens, macro tooltips get values.
A dated trade-record ledger ships at /track-record with chart figures, named price levels (entry / invalidation / target) and a deterministic verdict computation. Macro markers on /markets/[symbol] now reveal actual / forecast / previous values on hover; a /colophon page documents type, motion, and data sources; the root README is rewritten.
- Pure computeVerdict() walks forward through daily candles with conservative same-candle conflict resolution
- Chart tooltips upgraded with cursor: help affordance and a frozen-entry JSON reproducibility snippet
- Per-entry OG images via @vercel/og rendering
- NG futures curve via EIA (sister to crude), closing the deferred natural-gas item
- May 14, 2026Phase P16 + P17data
Authoritative macro calendar; daily brief drafted by a free LLM.
Static MACRO_EVENTS config replaces inferred event dates: 168 entries 2025-2027 from federalreserve.gov, bls.gov, and bea.gov. Today brief now generates via OpenRouter against the free Llama 3.3 70B, with server-side Yahoo-news injection so the language model sees current prices but pays nothing per request.
- May 13, 2026Phase P14 + P15data
Crude curve via EIA; ReproduceLink on research.
WTI futures curve switches from CME-scraping to EIA's PET.RCLC[1-4].D series, a stable, free, primary source. Research papers gain a ReproduceLink editorial primitive that null-renders until each paper sets reproUrl per piece.
- May 13, 2026Phase P12 + P13feature
Site-wide search; framer-motion → motion swap.
Pagefind indexes 18 content surfaces and ships a /search page. The motion library moves from framer-motion to the lighter motion package; 9 client islands repointed at motion/react with no API changes.
- May 13, 2026Phase P10 + P11polish
Performance audit, native economic events, +63 composite tests.
Two dynamic-import fixes for chart heavy modules. The TradingView econ-events iframe is replaced by a native EconEventsList sourced from Finnhub; combined earnings + economic ICS subscription ships. Markets composite test backfill: 10 new test files, zero production-code diff.
- May 13, 2026Phase P8 + P9feature
Chart markers, sources chips, per-symbol news RSS.
Macro and earnings markers on every symbol chart, sourced from the new /api/econ-events endpoint. News tickers in /squawk and per-symbol feeds become clickable. Breadth leg backfilled via RSP/SPY since FRED has no NYAD. Seven new OG image templates.
- May 13, 2026Phase P7editorial
MDX pipeline + scaffold CLI; editorial primitives expand.
Long-form essays and research pieces can be authored as MDX with gray-matter frontmatter; npm run essay:scaffold and npm run research:scaffold cut new entries with consistent shape. Three new editorial primitives ship: MarketSessionBadge, KeyStatsGrid sparkline, and the long-form Dateline.
- May 13, 2026Phase P3–P5feature
Insider rail, OpenAPI spec, command palette, /path tranches.
Filings noise filter; a published OpenAPI 3.1 spec for /api/* endpoints. Cmd-K command palette and a tranched /path reading-path surface for new readers. Multiple polish waves: ICS exports, Atom feed, per-symbol RSS, mobile + a11y improvements, OHLC strip, overlay menu, the /now page.
- May 13, 2026Phase P0–P2feature
Markets website turn.
The dashboard expands from a portfolio page to a full markets surface. 64 single-symbol pages, a Macro Regime composite, COT data, futures curve, a screener and saved-views, an editorial filings rail with native earnings calendar, and a five-block density dashboard at /markets.
- May 9, 2026Phase v6editorial
Editorial portfolio revamp.
Indicator detail pages restructure into the v7 research-journal layout with Plate / NotClaims / PineMeta / ParametersTable / PairsWellWith primitives. Apps pages get a hero spine, narrative strip and shortcut callout. The home page picks up Standfirst, TopicsRail, and the StarMark spine. Editorial primitives (sidenotes, pull quotes, footnotes, hover citations, datelines, drop caps) become first-class.
25 entries · oldest May 9, 2026 · newest Jun 11, 2026