The curated shipping record.
A record of meaningful surfaces, data choices, and editorial primitives. Trivial commits stay out of this public trail.
- Jul 12, 2026polish
One desk, one machine-readable system.
The v4 desk unifies its navigation, design tokens, motion rules, and accessibility contract across the editorial and market surfaces. The same published work is now easier to traverse for people and agents alike, with structured datasets, cited research, the open JSON API, and the MCP server forming one coherent system.
- Jul 11, 2026data
The wire and the published maths get a defensive pass.
Squawk now reads the same multi-source, deduplicated wire as /news, so the two surfaces cannot fail along separate ingestion paths. The regime, correlation, drawdown, and seasonality calculations now reject malformed observations before they can become a displayed number; light-theme amber, form labels, chart names, and route metadata also received an accessibility pass.
- Jul 10, 2026data
A stronger free brain behind the wraps and call briefs.
The drafting chain behind the Daily Wrap and the earnings call briefs was re-audited against the live OpenRouter free catalog. NVIDIA's Nemotron 3 Super (120B) now drafts first, with the proven gpt-oss-120b and Qwen3-Next as fallbacks and Llama 3.3 demoted to last resort. Reasoning mode is explicitly off: these are grounded rewrites on a 30 second clock, not term papers. Still zero cost, still cached, still never per-visitor.
- Jul 10, 2026feature
Terminal mode, a moving tape, and a column.
The command palette hides a new toggle: Terminal mode, amber phosphor and scanlines, a wink at the machines this desk descends from (the P&L greens and reds survive the phosphor). Live prices now flash their direction as they tick, green up, oxblood down, on the hero quote, the front-page strip, and every watchlist. And /notes opens From the Desk: short, dated notes in one voice, beside the changelog's record.
- Jul 10, 2026feature
The whale books.
A new desk at /13f reads quarterly 13F holdings for a curated set of concentrated discretionary filers, Berkshire to Bridgewater, straight from the EDGAR information tables: top-of-book positions, weights, and the quarter's moves. Quant market-makers are excluded on purpose; their thousands-of-line filings are hedged inventory, not readable intent. Symbol pages gain a quiet module naming the tracked books that hold the name.
- Jul 10, 2026feature
What the calendar favors.
A new desk at /seasonality turns the per-ticker seasonality tables inside out: pick a month and see every tracked name's record for it, mean return and hit rate over up to 15 years of monthly closes, sortable, filterable by kind, with thin histories muted rather than hidden. History, not prediction, and the page says so out loud.
- Jul 10, 2026feature
The scenario desk.
The portfolio page now answers the questions a ledger cannot: how the holdings move together, how deep this exact book would have drawn down over three years, a 500-path sketch of the year ahead, and what a lump sum into any ticker on any date would be worth today. Every number is computed in the browser from daily closes; position sizes never leave the machine.
- Jul 10, 2026feature
The open API, documented; the quarter, nowcast.
The JSON endpoints behind every number on the desk now have a human reference at /api-docs: parameters, honest cache windows, worked examples, and plain-language terms, rendered from the same OpenAPI document machines read. And /today carries the GDPNow strip: the Atlanta Fed's running estimate of the quarter, with its drift against the prior vintage, before the official print exists.
- Jul 10, 2026feature
Congress on the tape.
A new desk at /congress reads every periodic transaction report Congress files under the STOCK Act: both chambers, transaction-level, newest filing first, filterable by chamber, member, or ticker. Every row links to the primary government document, amounts stay the ranges the law requires, and the lag column keeps score on who files inside the 45-day clock.
- Symbol pages gain a quiet "Congress on the tape" module for names with a disclosure record
- Source: House Clerk and Senate eFD filings via the open Congress Trading Monitor dataset (MIT, refreshed daily)
- Published return-since-trade figures are deliberately not shown: the desk does not attribute performance to disclosed ranges
- Jul 10, 2026feature
The insiders, read from the source.
Equity pages now open the Form 4s themselves: the last eight ownership filings from SEC EDGAR, parsed to who traded, at what price, and what they held after. A 90-day flow line counts only open-market purchases and sales; awards, exercises, and withholdings are listed but never counted as conviction. Every row links to the primary filing.
- Jul 10, 2026feature
The Session Clock.
The front page opens with a new signature dial: eleven cash sessions, Sydney to New York, laid onto one 24-hour UTC ring. Each lane is an exchange's session, its ink is the day's tape, and the hand is the reader's clock. Session placement follows the IANA timezone database, so daylight saving moves the arcs, not a config file.
- Jul 10, 2026meta
The desk now monitors itself.
A new /api/health endpoint re-runs the news wire, the tape, and the model leg behind the Daily Wrap, and a scheduled probe fails loudly when any of it rots. The wrap and the call briefs also gained a free-model fallback chain, so one retired slug or a rate limit no longer silences them.
- Jul 6, 2026feature
The local desk: /q, a portfolio, alerts, and a greeting.
Four tools that respect the no-account rule to the letter. /q quotes any ticker, curated or not. /portfolio keeps a book with live P&L entirely in the browser; position sizes never leave it. Price alerts fire as native notifications with no server, email, or login. And a returning reader gets "Since you were here": what moved while they were gone, computed against their own cached tape.
- Jul 6, 2026feature
Ten instruments join the desk.
A wave of signature data instruments across the dashboards: the Regime Rose on the front page; Sector Rotation, the Cross-Asset Correlation Web, Correlation Regime, Cross-Market Seasonality, and Intermarket Ratios on /markets; Curve Decomposition on /rates; the Futures Term Structure, Positioning Ladder, and COT Deep-Dive on the futures desks. Each carries its methodology in a tooltip and its source on its sleeve; hover crosshairs follow on the SVG charts.
- Jul 6, 2026polish
Faster, quieter, harder to break.
The quote fan-out that made ~130 requests per dashboard load now batches into a handful. Pollers pause on hidden tabs, duplicate in-flight fetches share one request, the route transition dropped its animation library off most pages, and the site gained real error boundaries so a single failed island can no longer blank a route.
- Jul 6, 2026polish
The audit tranche: craft and trust fixes.
A multi-agent audit of the whole site produced a confirmed fix list, shipped in one pass: the watchlist is finally editable from every board, earnings actuals show beat/miss ink on the calendar, the light theme reaches AA contrast on data colours, the Daily Wrap edition rolls at 4am ET, and the screener scrolls properly on phones.
- Jul 5, 2026editorial
The Markets Desk front page.
The homepage became a broadsheet: a financial-print masthead, numbered movements carrying the reader from the live tape through the wire, the regime, the desk dashboards, and the week ahead, with data provenance named on every section rule. Under it, a shared design system: one type scale, one spacing scale, and a small kit of desk primitives documented in the colophon.
- 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.