Caverio trader companion, overnight programme 2026-09-26, T7

T7: Presentation mechanics and competitive teardown

Worker T7, 2026-09-26, started 00:37 Beirut. Brief: briefs/T7-presentation.md. Inputs read: 00-MANDATE.md, RULES.md, ../BRAND-BRIEF-2026-09-15.md, ../../crypto-2026-09/signal-room/design-research-2026-09-12/RESEARCH.md (experimentation, extended here rather than repeated), the wiki synthesis 2026-09-25--what-caverio-can-see-on-one-token-and-which-of-it-is-ours-to-publish.md, and the d8 synthesis mockup (../mockups/2026-09-17-synthesis/d8-synthesis/, experimentation, read-only). Working notes from three research sub-agents are in data/T7-teardown-A.md (trading terminals), data/T7-teardown-B.md (analytics tools and non-crypto references), data/T7-literature.md (information-design evidence). The palette check is scripts/t7_palette_cvd.py, output in data/T7-palette-cvd.txt.

Evidence grades. A = primary source fetched and cited with URL and date; B = credible secondary source cited; C = reported, unverified, or my own inference. Our own computation is A when the script is saved (only the palette check applies here).

The argument in five lines. 1. Every terminal in the teardown shows the same thing: a candle chart, a price/mcap/liquidity/volume stat block, a trades table, a holders table and a row of safety chips. They present snapshots of one source at a time. (Section 1.) 2. Nobody puts two sources on one clock: attention against money, a caller's stance against price, early holders against rising noise. That is where our fields live, and those are the forms nobody has had to design yet. (Section 4.) 3. The perceptual evidence says: position on a common scale beats everything else, so the default form for any number we want read accurately is a position on a shared axis (dot on a track, bar, bullet graph, strip), not a gauge, donut or colour. (Section 2.) 4. A two-second read carries one state word, one hero number with its reference, and one direction. Everything else is for the second look. (Section 3.) 5. Our palette fails colour-blind safety on exactly the pair that matters (green in, rose out: CIEDE2000 10.5 under deuteranopia), so direction must be carried by position and glyph, colour only reinforces. (Section 3.)


1. Competitive teardown

Method. Three sub-agents fetched product pages, official docs (GitBook .md and llms.txt exports), pricing pages, changelogs, one production JS bundle (Padre) and 2025–2026 reviews on 2026-09-26. Full per-claim notes with URLs are in data/T7-teardown-A.md (trading terminals) and data/T7-teardown-B.md (analytics tools and non-crypto references). The app pages of DexScreener, Birdeye, Photon, Axiom, GMGN, Trojan and Arkham returned Cloudflare or 403 walls to headless fetches (as on 09-12), so for those the evidence is official docs (A for what the docs say, C for the exact visual form) plus reviews (B). GeckoTerminal served full HTML and is the best-evidenced product. The grade in the table is the grade of the weakest claim in that row.

Two status findings that change the list. BullX Neo trading has been suspended since 2026-06-01 (crypto.news, 2026-06-01, B); it is a design reference, not a live competitor. Dexcelerate's domains now serve an unrelated phone shop and a generic AI-automation page (A, curl 2026-09-26); its caller layer is historical (2024–25, B). Padre is now "Terminal", owned by Pump.fun since October 2025 (B); Kolscan is also Pump.fun-owned since July 2025 (B).

1.1 The table

Product Per-token view above the fold: fields and form Refresh Market overview Unique Cliché Price, audience Grade
DexScreener Per pool. TradingView candles centre; right panel of text stat tiles: price USD/quote, liquidity, FDV, mcap, 5m/1h/6h/24h change tabs driving txns, volume, makers split buy vs sell; emoji reactions; boost badge; tabs for trades, top traders, holders, LPs, bubble map "realtime" indexer; public WS carries profiles and boosts, not prices One sortable table per chain (price, age, txns, volume, makers, % change as red/green text, liquidity, mcap); trending ticker strip; curated "Metas" Pay-to-rank made visible (boosts, Golden Ticker); page visitors and reactions feed Trending Candles, window tabs, buy/sell split, holders, bubble map Free; boosts ~$99–$3,999; token info $299–499. Everyone A docs, B layout
GeckoTerminal Risk banner as coloured sentence; header price, 24h %, mcap, category chip; window selector; stat tiles incl. GT Score 63/100 chip, holders, audits, age, FDV; security indicators (top-10 %, dev %, bundled %, early buyers %, cluster %); holders distribution split and holder-count history line; swaps table; traders PnL; bull/bear vote API cache 30 s Table with a GT Score chip per row, top-10 % under it, 5m–24h %, Net Buys, MCAP/HLDR; network banner as a sentence; highlights strip Score in the list; mcap per holder; holder count as a time series; timestamps on high/low (only in SEO text) Candles, windows, swaps, top-10 % Free; ads, paid banner. DeFi researchers A
Birdeye TradingView chart, trade tape, holder distribution, top traders, depth, security checks, Jupiter swap widget. The API behind it carries last trade time, holder count over time, tag holdings over time, first-buyer status, wallet funded-by API 100–300 rps; WS from $199 Find Gems screener, Trending, New Listings, Meme Richest data layer in the set; UI parity unverified UI is the standard chart + tape + holders App free, "Pro ~$45" (B unverified); API $39–$2,050/mo. Analysts, developers A API, B/C UI
Photon Chart + trade panel; audit block and bonding progress (unverified) "5–10× faster than DexScreener" (vendor claim via review) Memescope: three live columns New / About to Graduate / Graduated, hover pauses the feed Hover-to-pause; points jackpot Everything else; now the baseline others copied 1% per trade; declining share (~1.3%) B/C
Axiom TradingView chart; tabs Trades / Holders / Top Traders / Orderbook with Trader Scan (holding duration per wallet); Instant Trade panel; token info tiles: top-10 %, dev %, snipers %, insiders %, bundlers %, LP burned, holders, pro traders, dex paid; four bubble-map providers "real time" Pulse: three live columns New Pairs / Final Stretch / Migrated, quick-buy bolt per row, 14 filters; Twitter preview popup Documents its bundle method and warns it disagrees with peers; copycat "OG mode" The three columns it popularised; risk % tiles; quick buy 0.95%→0.75% by tier, cashback. Active Solana meme traders A docs, B/C form
GMGN Candles with wallet-type trade markers (smart money, KOL, sniper, dev); security strip of labelled % chips (Top 10, DEV, Snipers, Insiders, Phishing, Bundler, Rug %, Burnt); activity table filterable by wallet type; traders with funding source and time; first-70-buyers status grid (Hold / Sell part / Sell all); Callouts: call time, price and mcap at call, multiplier since, caller holding %, Best Callout activity "in seconds"; accuracy disclaimer on holder stats Trenches (New / Almost Bonded / Migrated); Trending table with fire count; wallet leaderboard; X Tracker of 2,000+ accounts with quick buy Only first-class timestamped caller record tied to price at call; blue-chip holder index; phishing-wallet ratio Trenches, risk chips, KOL counts 1% per trade. Global meme traders, copy traders A docs, B layout
BullX Neo (suspended) Chart with overlays; audit button; Holders tab opens with historical charts of holder count, top-10 %, bot-holder count, insider % live Neo Vision three columns; numbered card anatomy incl. per-card sparkline, reverse image search on the logo, launchpad comment count Only docs in the set that describe concentration as a time series Columns, top-10 %, quick buy 1% per trade; trading suspended since 2026-06-01 A docs, B status
Padre / Terminal Candles with markers: tracked, KOL, sniper, alpha-group mentions, Dex paid, callouts, fee claims; lines avg top-10 entry / exit; stats incl. bundles holding now vs ATH, pro volume by app, fresh-wallet buys, dev migration rate; callout threads ("Original call", "What's changed since your call?") live trades Trenches; filters incl. reused avatar / reused socials, alpha-group mentions, dev migration rate, recent visitors Attention events on the price chart; callout updates over time (self-authored); bundles vs their peak Columns, risk %, KOL markers ~1% less cashback. Pro meme traders A strings, C layout
Trojan Chart "bubbles" incl. Discord and Telegram call markers, KOL and dev trades; lines ATH, avg entry/exit, migration; Fees Paid as a bundle tell; audit card; HolderScan ("offloading or jumping on board?") "real time" Trenches where the card background is the bonding progress bar; Explorer (Hot score); Alpha: live calls from your groups plus a ranked leaderboard of groups and callers by performance Calls on the chart; caller leaderboard; outlier (MEV) hiding; click a candle to filter trades Columns, risk %, KOL tab 1% per trade, 10–35% cashback. Telegram-native traders A docs
Nansen Token God Mode: header + link chips; Who bought / sold tables with wallet labels; DEX trades feed; top-5 holder distribution as a daily series; token seniority (holding-duration buckets); exchange flows; smart-money balance and holder count chart; PnL leaderboard with % still holding "often within seconds"; labels re-evaluated against today's dictionary Token Screener table (inflow, outflow, netflow, smart-money inflow/FDV) 5m–30d; AI agent pane Label dictionary on every flow; seniority; backtesting API (holders at any past date) Screener tables, AI chat Pro $49/mo annual, $69 monthly. Retail analysts, agents A
Arkham Token page: price, mcap, volume, FDV, exchange flows, top holders as named entity chips; the centre of gravity is the entity page and the Visualizer node-link graph alerts real time; no documented interval Large-transfer feed with entity chips; trending; custom entity dashboards Entity de-anonymisation; Archive (portfolio at any date) Thin token page Free core; API unpublished. Investigators, funds A docs, C layout (403)
Cielo No deep token page; Trending row: mcap, volume, Mindshare % chip (share of tracked wallets' buying, not social) websocket push, "pinging blue dot" Wallet feed (the product); Pulse columns; alert recipes incl. KOL Cluster Buy and Top Holders Supply Change ("11.0% → 8.5% in 1h") Attention measured in money; concentration delta alert with before/after numbers Wallet feed, PnL leaderboard Free / ~$59 / ~$199 (B). Copy traders A docs
Kolscan Token page "Realtime Token Tracker" in mcap buckets (client-rendered); KOL account page: KPI tiles (win rate, avg duration, top win, realised and unrealised profit) + token PnL table trades "within seconds" (B) KOL leaderboard daily/weekly/monthly: rank, avatar, wins/losses in green/red, realised SOL and USD Ranks influencers by their wallets' PnL, not followers Leaderboard tiles Free. Solana copy traders A scaffold, B
Bubblemaps Force-directed bubble graph of top 250 holders (size = holding, links = transfers, clusters); Magic Nodes; Time Nodes (wallets funded from the same venue in the same window); Time Travel (click the price chart to redraw the map at that date); Bubblemaps Score 0–100 "real-time"; API exposes an update timestamp header No market table; paid promoted banner; Intel Desk case pages The owned visual form; time travel; co-funding clusters Promoted banner Free; BMT for premium; iframe for integrators. Due-diligence retail A
LunarCrush Topic page: AI headline sentence; insight bullets; blocks each with current, daily average, period deltas, 1-year extremes for price, AltRank, Galaxy Score, engagements, mentions (by network), creators table, sentiment % with supportive/critical themes, Social Dominance rolling 24 h, archived hourly/daily Discover: ranked tables by any metric; top creators Only peer-normalised mention figure in the set (share within a category) 0–100 composite score; rolling 24 h $90 / $300 / $900 per month. Narrative traders, builders A
Dexcelerate (historical) Chart USD vs mcap, trades, rugcheck chips; watchlist tabs Calls / TG / Lists; per-channel wins, losses, average returns "real-time" (B) Scanner with Pump.fun columns; live X feed Parsed calls from the user's own Telegram groups with channel scorecards and auto-buy Scanner, chips Free; product no longer reachable B
Bloomberg Terminal Load a security once, run functions: DES dense text + number grid; GP line chart with compare and event markers; HDS holders with change since last filing and source per row; RV/EQRV peers; BVAL score 1–10 on evaluated prices (recency, quantity, quality of inputs) real time per entitlement WEI, GMM, TOP, ECO; Launchpad monitors (user-built grids) Provenance per holder row; data-quality score per price; peers as standard functions Amber-on-black grids (it invented the cliché) ~$32k/seat/yr (B). Institutions A guides, B BVAL
Koyfin Snapshot tiles and charts; Equity Percentile Ranks (0–100 vs own history and vs sector/country peers); last-trade timestamp on hover; source table live / 15-min delayed / EOD per market US mixed live + 15 min; others EOD Market dashboards; user dashboards Percentile vs own history and vs peers; visible staleness Tiles, estimates, news Free, then ~$49–349/mo. Independent investors, advisers A
Unusual Whales Ticker overview: price line with net call premium and net put premium lines on one intraday chart (ask-side vs bid-side attribution); flow rows with sweep/block tags; GEX, IV, dark pool, insider, congress per-data-type freshness table; free tier explicitly delayed (flow 2 days, alerts 30 min); congressional "late reports" as a category Market Tide, sector flow, heatmaps Money flow drawn against price on one clock; freshness documented per type; disclosure lag tracked Emoji-tagged flow feed, heatmaps $50 / $75 / $120 per month. Retail options traders A docs, B chart

1.2 One paragraph each

DexScreener. The default "look it up" page and the reason every token page looks the same: candles in the middle, a column of stat tiles on the right, a 5m/1h/6h/24h switch that re-labels the tiles, and tabs underneath. Every number is a text tile of equal weight; the only visual forms are the candle chart and red/green text. Its truly distinctive layer is commercial: boosts and paid token info are visible and feed the ranking, and market cap can rest on project-declared supply with no marker (A, docs.dexscreener.com/token-listing.md). Its pair object has no last-trade field (A). Lesson for us: the tile column is the cliché to avoid, and its silence on provenance is the gap.

GeckoTerminal. The most honest crypto page in the set, and still a snapshot page. It puts a risk sentence at the top, a 0–100 score chip in the list, and adds two things nobody else does in a list: net buys and market cap per holder. It charts holder count over time but not concentration. The only timestamp next to a price print lives in SEO body text ("captured at 17:27PM UTC"), not the header (A). Lesson: sentences at the top work and are accepted; scores in the list are the category norm we reject.

Birdeye. The UI is the standard chart, tape, holders and security chips (B). The API is ahead of every interface: last trade time, holder count and tag holdings over time, first-buyer status, funded-by (A, docs.birdeye.so/llms.txt). Lesson: time-series holder data is becoming a commodity input (it is on sale for $99–$499/month), so the value is in the combination and the presentation, not in the series alone. T1 should price it as a possible source for Solana holdings, which we lack.

Photon. The originator, with BullX, of the three-column launch board, and now the baseline others extend. Its one presentation idea worth keeping is hover-to-pause the live feed (B), which is the right answer to a list that moves under the pointer. Fading share (~1.3%, B).

Axiom. The reference trading terminal: split screen, instant trade panel, hotkeys, three live columns. The per-token view is a row of risk percentages as tiles. Two things stand out. It documents its bundle rule and says its number "may appear wildly different from other tools" (A, docs.axiom.trade/faqs.md), the only method disclosure in the terminals. And Trader Scan shows how long each wallet has held (A), a partial "who was already in". Lesson: method disclosure is rare and credible; we should make it a component, not a footnote.

GMGN. The densest page and the most learnt: a strip of labelled percentage chips, wallet-type markers on the chart, a first-70-buyers status grid, trader funding source and time. Its Callouts are the closest thing to our caller layer: time, price and mcap at call, multiplier since, the caller's holding % (A, docs.gmgn.ai/index/gmgn-callout-openapi.md). What it does not do: measure the lag from call to money, show who held before the call, or track the caller's stance or wallet after. Lesson: the caller record exists as a snapshot plus a multiplier; the timeline around it is open.

BullX Neo. Suspended, but its docs describe the only per-token concentration time series in the terminals (top-10 %, bot holders, insider % over time, A) and a numbered card anatomy with a per-card sparkline. Lesson: concentration as a line has been built and understood; its absence in live products is a gap, not an untested idea.

Padre / Terminal. Goes furthest on holders among live terminals: bundles holding now vs their peak, average top-10 entry and exit lines on the chart, dev migration rate, reused-avatar and reused-socials filters (A, strings in the production bundle; layout C). It places alpha-group mentions and callouts as markers on the price chart, and callers can post "what's changed since your call?" updates. Lesson: attention on the price clock is arriving in terminals as markers; nobody draws attention and money as two lanes with the lag measured.

Trojan. Puts Discord and Telegram call markers on the chart "to mark moments the token was called" and ranks groups and callers by performance (A, docs.trojan.com). The card background is the bonding progress bar, a good use of an area that would otherwise be decoration. "Fees Paid" compared with volume is presented as a bundle tell. Lesson: caller performance leaderboards exist; ours must differ by printing n, dates, horizons and censoring, and by pairing with the lag.

Nansen. Tables with labels, a few charts. It is the only live product with a concentration series in the UI (top-5 addresses, daily) and a holding-duration distribution (token seniority) (A, Nansen Academy). Its labels are re-evaluated against today's dictionary, so the past is seen through today's opinion of who was smart (B/C). Price collapsed to $49–69/month (A). Lesson: point-in-time honesty (what was knowable then) is a differentiator even against the leader; our brand brief already names it as the moat.

Arkham. The token page is thin; the product is entities and the graph. The one presentation move worth taking is the entity chip: a holder row reads as a name, not an address (B). Lesson: where we have recurrence (a wallet seen in earlier calls), a short name for that wallet ("seen in 4 earlier PowsGemCalls calls") does the same job without claiming identity.

Cielo. A wallet feed. Two ideas matter. "Mindshare" is attention measured in money (share of tracked wallets' buying), not in words (A). And its "Top Holders Supply Change" alert prints before and after ("11.0% → 8.5% in 1h") but never stores or charts the series (A). Lesson: the concentration change is valued enough to alert on, yet nobody draws it.

Kolscan. A leaderboard of influencer wallets by realised PnL, win rate, average hold, with wins and losses as a green/red pair (A). It never sets a KOL's trades against what they said. Lesson: "said bullish, sold" is invisible everywhere.

Bubblemaps. The one product whose brand is a visual form. The bubble graph is striking and hard to read quantitatively (area and links, low on [CM84]), but Time Travel (click the price chart to redraw the map at that date) and Time Nodes (wallets funded from the same venue in the same window) are strong ideas (A, wiki.bubblemaps.io). It exposes an update timestamp in the API, not the app. Lesson: own a signature form; ours should be a timeline (position on a common scale), not a graph.

LunarCrush. Every block repeats the same pattern: current, daily average, period deltas, 1-year extremes. It has the only peer-normalised attention number in the set (Social Dominance, share within a category) and two composite scores (A, lunarcrush.com/llms-full.txt). Everything is rolling 24 h, so an event at 19:34 dissolves into a day. Its fantasy-football product has a "Sharps: who is early" page, the caller-earliness idea applied elsewhere (A). Lesson: normalising mentions against peers is accepted; normalising against market-cap band is not done; event time beats rolling windows.

Dexcelerate. Historical. It parsed calls from the user's own Telegram groups and printed per-channel wins, losses and average returns, with auto-buy (B, 2024). It is gone. Lesson: the call-ingestion idea was built and did not survive as a product; the scorecard alone was not enough.

Bloomberg Terminal. Dense and consistent. Two conventions matter to us: the holders page carries source and change since last filing per row, and evaluated prices carry a BVAL score for the recency, quantity and quality of the inputs (A for HDS, B for BVAL). Users tolerate density and punish change (Leca 2010, A). Lesson: provenance per number is normal in serious tools and absent in crypto.

Koyfin. Percentile ranks against the security's own history and against peers, and a last-trade timestamp on hover with a documented live / delayed / end-of-day table (A, koyfin.com/help/faq/is-your-data-live-or-delayed/). Lesson: "relative to peers and to own history" is a solved form for fundamentals; we apply it to attention and flow.

Unusual Whales. The nearest non-crypto analogue to our money brief: net call and net put premium lines drawn with the price on one intraday clock, with bid/ask attribution (B), and a per-data-type freshness table with an explicitly delayed free tier (A, unusualwhales.com/llms.txt, /pricing). It tracks congressional "late reports", a disclosure lag as a category (A). Lesson: money against price on one clock is readable by retail; freshness disclosed per data type is a trust feature; lag itself can be a first-class field.

1.3 What everyone shows

  1. A candle chart (TradingView or clone) with 5m / 1h / 6h / 24h windows as red/green text. All nine terminals.
  2. Price, mcap/FDV, liquidity, volume, buy vs sell counts, holders as equal-weight text tiles. All.
  3. Holder-risk percentages as coloured chips: top-10 %, dev %, snipers %, insiders %, bundlers %, plus mint/freeze/LP checks. All terminals.
  4. The three-column launch board (New / about to migrate / migrated) with a quick-buy button on every card. Six of nine terminals plus Cielo.
  5. A live trade tape tagged by wallet type, a top-traders PnL table, a bubble-map link.
  6. A single composite score or rank somewhere: GT Score, Galaxy Score, AltRank, Bubblemaps Score, Mindshare %, Trojan "Hot", Trending rank.
  7. Labels as trust: smart money, KOL, fund, named entities, applied as they stand today.
  8. Rolling windows as the unit of time: time is a filter (5m / 1h / 24h), not an axis anchored to an event.
  9. "Real time" claimed, with no latency and no data age in the header.
  10. Paid visibility surfaced as badges (boosts, Dex paid, promoted banners).
  11. An AI chat pane or agent (Nansen, LunarCrush MCP, Unusual Whales, Bubblemaps).

1.4 What nobody shows

  1. Attention-to-money lag (call time vs first on-chain buys). Nobody computes it. GMGN stores call time and price; Trojan and Padre put call markers on the chart for the eye to judge. (A for the parts; C for the absence.)
  2. Who was already in before a call. Early-buyer views anchor to launch (GMGN first 70, Birdeye first buyers, Axiom holding duration), not to the call. Bubblemaps Time Travel and Nansen's backtesting API could reconstruct it; neither ties it to a call.
  3. Caller stance over time and flips, measured. Padre has self-authored updates; LunarCrush sentiment is per topic, not per creator. Nobody sets a caller's words against their wallet.
  4. Early-holder exit while attention rises, on one frame. Pieces exist in different products (GMGN first-70 status, Trojan HolderScan, Cielo supply-change alert, LunarCrush mentions).
  5. Holder concentration as a live time series in a live UI (BullX suspended; Nansen top-5 daily only; Cielo alerts only on the delta).
  6. Print provenance and staleness next to the headline price in crypto. Present in TradFi (BVAL, Koyfin hover, Unusual Whales table). No crypto product separates a lone anomalous print from a traded price.
  7. Refusals: "we saw this and did not surface it, because". Every product reports only positives; empty states say "no data yet".
  8. Mentions relative to market-cap peers. LunarCrush normalises within a category, not a size band.
  9. Caller scorecards with price at call, marks at fixed horizons, n and censoring. GMGN shows a multiplier since call; Trojan ranks by performance; Kolscan ranks wallets; nobody prints the horizons and sample.
  10. Method disclosure per metric (Axiom's bundle rule is the one exception) and "what changed since you last looked" on a token page.

2. Presentation mechanics catalogue

How to read this section. Each field type gets a recommended form, a second-best form, what to avoid, the evidence, and where the choice is genuinely open, the quick user test that would settle it. "Form" means the visual encoding; the words that go with it follow the brand voice ("observed", counts and clocks, no verdicts).

The evidence spine, cited once here and referenced by tag in the table. Grades are from data/T7-literature.md, where each item carries its fetch URL and date. Five points in my first draft were wrong and are corrected here (see the list after the spine).

Corrections found while verifying (my own first draft was wrong on these). (1) [CM84] ties length, direction and angle; "length beats angle" is from [HB10]. (2) [Ise11] is not a dual-axis study; the dual-axis critique is [Few08]. (3) [Bla19]'s fast donut is about comparing two marked segments, not about reading a share accurately. (4) A single donut for one share is acceptable per [SK16]; the case against it on our card is that it cannot carry a reference marker cleanly, not that it is unreadable. (5) The Bloomberg "concealing complexity" piece is from about 2022–23, not 2017, and could not be fetched (403).

2.1 The catalogue

Field type (our example) Recommended form Second-best Avoid Evidence
Rate (net buy pressure: buys minus sells per interval, $ or count) Diverging bar strip on a zero baseline, one bar per interval (e.g. 5 min over the last 2 h), up = net in, down = net out, the latest bar ringed. Hero number beside it: net $ in the last window with its sign as a glyph (▲/▼), not colour. Signed number plus a 24-cell word-sized sparkline with a zero line [Tuf06]. Gauges ("buy pressure meter"), ratio bars (buy% vs sell% as a split bar that hides volume), green/red fill as the only carrier of sign. Position on a common scale is read most accurately [CM84][HB10]; a zero baseline makes sign a position, which survives colour blindness [WCAG 1.4.1]. The split-ratio bar loses magnitude: 60/40 on $500 looks like 60/40 on $500k.
Share (top-20 holder share of supply) Bullet graph [FewBG]: one horizontal bar for the current share, a tick for the reference (the median of tokens in the same band, or the value at pool open), faint background bands for context ranges. A 100% stacked single bar (top 1, top 2–10, top 11–20, rest) with the number printed. A gauge [Few06]; a lone percentage with no reference ("38%": high or low?); several donuts side by side for comparison [SK16]. A single donut is acceptable [SK16] but has no clean place for the reference marker. Position and length on a common scale beat angle and area [CM84][HB10]; a share without a comparator cannot be judged in two seconds, so the reference tick carries the meaning [Few06][Gou16]. Few's specification exists to replace gauges [FewBG].
Share over time (the concentration clock) Line on the shared situation time axis, directly under the price line, same x scale, no second y axis on the same panel [Few08]; small multiple rather than overlay [Tuf90][Pla96]. Start-to-now slope pair ("top-20: 61% at open → 38% now"). Dual-axis overlay of share and price on one panel [Few08]; bubble-map snapshots as the only representation. Two series on one clock read best as faceted lanes sharing x [Pla96][Bre17]; dual scales invite false crossings [Few08]. The delta since open should be drawn, not left to subtraction [NF20].
Lag (attention to money: call at T, first tracked buys at T+x) Two-lane event strip on one time axis: top lane attention events (call, mentions), bottom lane money events (buys sized by $), a bracket between the first call and the first buy labelled with the lag ("+4 min"). This is the extension of the 06 touch strip that the 09-12 research called the product's signature component. A sentence with the lag as the number: "First buy 4 min after PowsGemCalls, 19:34 → 19:38." Plus, per channel, a word-sized distribution of past lags (quantile dots) [Kay16]. Connected scatterplot of attention vs money [HKF16] (engaging, misread); a dual-axis line chart of mentions and volume [Few08]; a single "lag score". Lag is a difference of two positions on one axis, so a shared axis makes it a length [CM84]. Linear chronological timelines are the most legible [Bre17].
Stance over time (caller bullish → neutral → bearish, flips) Stance track: one row per caller, a horizontal band on the situation clock divided into segments by stance, with the stance as a symbol and a text label at each change (+ / ○ / −), price line above for context. A flip gets a single mark and a sentence ("columbus: bullish 19:34, cautious 21:10, called exit 22:02"). Per-caller dot row: each message a dot positioned at its time, vertical position = stance (3 levels), no line joining them. Sentiment gauges; a "sentiment score" number from 0 to 100 without the underlying messages; red/green segments only. Ordered categories map to position (up/down) or lightness, not hue [Ber83]; a flip is an event and belongs on the timeline [Bre17]. Hue alone fails under CVD (section 3).
Count relative to peers (mentions vs the band) Dot on a peer strip: a horizontal track showing the distribution of mention counts for tokens in the same market-cap band (quantile marks: p25, median, p75, p90), our token as a solid dot, with "×3.1 band median" printed. A number with a percentile ("mentions: 42, 91st pct of $1–5M band"). Raw counts with no base; rank numbers alone (#3 of what?); bubble size. A single position against reference marks on a common scale [CM84][FewBG]; percentiles and multiples are the text a trader can say out loud. Quantile marks are the discrete-frequency view that reads well at a glance [Kay16][Pad22].
State (a light on or off, decaying) Dot + word, with decay as fill or lightness: a filled dot when lit, a ring when off, partial fill (or 3-step lightness) as it decays, the word beside it ("money in, 12 min", "attention, cooling 40 min"). Age is printed, never implied. A row of lights (one per category) in a fixed order, so the pattern is learnt, like GMGN badges but on our categories. Pulsing or breathing animation as the indicator of "live" (09-12 diagnosis: motion must mean an event); a traffic-light hue as the only encoding; icon-only badges without words. Fixed-position rows are read by pattern after learning [Few06]; one preattentive feature at a time [HE12]; lightness is ordered, hue is not [Ber83]. Words beside dots satisfy [WCAG 1.4.1].
Timeline of events (situation history: first buy, call, holder exit, print gap) Horizontal event strip on the situation clock with typed glyphs (buy, sell, call, exit, gap), clustered when dense, a "now" edge that advances, and a written list below in the same order for the full read. Vertical chronological list with relative times ("19:34, 4 min after the call") for phone. Scrolling ticker tape at a fixed speed; a vertical feed with no time scale; icons with no legend. [Bre17] (linear chronology as default); 09-12 research: Notion Calendar's now-line, the touch strip as signature.
Distribution (time to best: how long after a trigger did similar situations peak) Quantile dotplot [Kay16]: 20 dots, each a past comparable, placed on a time axis; the reader counts ("14 of 20 peaked within 45 min"). A median tick. Box-and-whisker strip (p10, p25, median, p75, p90) with n printed. A single average; a smooth density curve (harder to read at a glance [Kay16]); a histogram with few samples and no n. Frequency framing reads more accurately than densities or intervals [Kay16][Pad22]; always print n (brand honesty rule).
Window (buy or hold zone) Band on the price axis (shaded range between two prices or market caps) with the current price as a marker, plus a band on the time axis if the window has a clock ("hold zone: 1.6 h left of the 2 h window"). A bullet graph: current value on a track with the zone as a qualitative band [FewBG]. Buy/sell buttons coloured to match zones (the product does not judge); gauges with zones on an arc [Few06]; countdown timers that tick every second (urgency the brand bans). Ranges are positions on the same scale as the value [CM84]; Apple Weather's range bar with a "now" dot (09-12 reference 26) is the everyday version of this.
Gap (observation missing: no print for 7 min, one provider only) Hatched span on the timeline where data is absent, labelled with the duration ("no print 7 min"), and a grey sentence under the hero number ("price 7 min old, DexScreener only"). Absence is drawn, never interpolated. Dimmed hero number (lightness step) plus the age in text. Interpolating a line across a gap; hiding the gap; a red warning icon for routine staleness (alarm fatigue). Missing data drawn as data is a Tufte/Few principle (show the data honestly [Tuf83]); the 09-12 research kept "honesty strings" as a genuine asset; d8 already used "bars absent, not zero" hatching.
Refusal (why we did not act, or why a situation did not light) One sentence with the failed condition and its number vs threshold: "Not lit: liquidity $6.2k, floor $10k." Where more than one condition failed, a compact checklist (condition, value, threshold, pass/fail glyph). A bullet graph per failed condition (value vs threshold marker). Silence (a token that never appears gives no information); a "risk score"; a red "rejected" badge. Text is the correct form for a reason [Few06 on dashboards needing context]; a threshold comparison is a position against a marker [FewBG]. Refusals are our proprietary data (wiki synthesis, "own machinery as a source").
Level (market cap, price, liquidity, volume) Hero number in mono tabular numerals with unit and one reference ("$4.2M, 3.1× first seen"); supporting numbers in one aligned row with captions beneath. Sparkline beside the number with the first-seen point marked [Tuf06]. Stat tiles for every number at the same size (09-12 diagnosis A1.8); six-digit precision on volatile prices; abbreviations that change unit mid-screen. Numbers are read, not perceived: hierarchy is size and position; the 09-12 research's move 1 (rank the numbers).
Composition (who is buying: new wallets vs tracked vs recurring) Stacked bar per interval on the money lane (segments by buyer type) with 3 segments maximum. A one-line count sentence ("12 buyers: 3 tracked, 2 recurring from earlier calls, 7 new"). Pie per interval; more than 4 segments; colour-only segment identity. Stacked segments beyond the first lose accuracy (non-aligned positions [CM84]), so cap the count and print the one that matters.

2.2 Where two forms are plausible: the quick user test that would settle it

Each test is a 5-second exposure test (show the card for 2 s, hide it, ask one question), five to eight traders from the beta list, scored on correct answer and time. This is the standard "five-second test" pattern from usability practice (grade C for a specific citation; the method is common practice).

Choice Form A Form B The question after 2 s What settles it
Rate diverging bar strip signed number + sparkline "Is money coming in or going out right now, and is it more or less than 30 min ago?" Accuracy on the second half of the question; if B matches A, B is cheaper in space.
Share bullet graph with band median 100% stacked bar "Are holders more or less concentrated than a typical token of this size?" Only A carries the comparison; test whether traders read the tick without training.
Stance stance track (segments) dot row (per message) "Which caller changed their mind, and when?" A should win on "which", B on "when"; pick by which question traders say they need.
Lag two-lane strip sentence with the lag "Did money arrive before or after the call?" If the sentence scores as well, the strip lives only in the situation view, not on the card.
Hero number mcap as hero state-chosen hero (the 09-12 proposal) "What changed on this token?" The 09-12 Part C pair 2A vs 2B remains open by Thomas's own eye; this test answers it.
Density 3 cards per phone screen 1 card with more fields "Which of these deserves a look?" vs "should you look at this one?" Discovery wants A, situation wants B; confirm the split rather than assume it.

3. Glance design: the two-second read

3.1 What a trader must get without reading

In two seconds a card can deliver about three things, one of which pops preattentively [HE12]; the rest is read. A situation card therefore has three layers, strictly ordered:

  1. Glance (under 1 s): state and direction. One state word in a fixed position (for example "money in", "attention only", "early holders reducing", "quiet"), and one direction glyph on the hero number. This is the only layer allowed to use the accent colour at full strength.
  2. Two-second layer: the number that justifies the state, with its reference. "Net +$18.4k in 15 min, 4.1× band median", or "top-20 share 38%, band median 52%". A number without a comparator fails this layer.
  3. Second look (3–10 s): the strip and the one sentence. The event strip on the situation clock (attention lane above, money lane below, gaps hatched) and one sentence naming what would change the read (d8's "waiting for" line, which should survive).

Everything else lives in the situation view.

3.2 The visual hierarchy rule

One hero per card, chosen by state, never by habit. The state decides which field is the hero (money-in state: net flow; attention-only state: mentions vs band; reducing state: early-holder share remaining). Market cap and price are always present but always supporting, set in the mono row. This resolves the 09-12 pair 2A/2B in favour of "hero chosen by state", pending the test in 2.2.

Rules that implement it: - Size carries rank: three type sizes on a card, no more (hero, row, caption). - Position carries category: fields appear in the same place on every card, so the eye learns the layout (GMGN's badge row is learnt in a day, per the 09-12 research; grade C). - Colour carries meaning, not decoration: one accent per card at full strength (the state), everything else in bone at 100/70/62% alpha. - Motion carries events only: a one-shot flash when the hero value changes, a "now" edge that advances; nothing loops (09-12 move 2).

3.3 Density limits per screen size

Screen Viewport basis Situation cards visible Fields per card on the list Minimum sizes
Phone 390×844 CSS px (iPhone 14/15 class, as the d8 capture used) 2 above the fold on discovery, 1 in the situation view state word, hero number + reference, supporting row of 3 numbers (mcap, liquidity, age), a 48 px strip, one sentence: 6 elements Touch targets 44×44 pt (Apple HIG) / 48×48 dp (Material); body 15–16 px, mono numerals no smaller than 12 px, captions 11 px only for units.
Tablet / narrow desktop 768–1280 px 4–6 cards, 2 columns as phone plus the lights row as phone
Desktop 1440×900 9 cards (3×3, as d8) on discovery; situation view in two columns (clock left, sheet right) as tablet plus a 64 px strip with both lanes pointer targets 24×24 CSS px minimum (WCAG 2.2 SC 2.5.8)

The d8 phone board (../mockups/2026-09-17-synthesis/d8-synthesis/shots/board-phone.png) is 8,751 px tall for nine cards, roughly 970 px per card: more than one screen per card on the list. That is the concrete failure the limit above corrects. Grade A (image read 2026-09-26: 390×8751).

Why six elements: traders are faster than non-traders only on small visual sets and have no working-memory advantage [Bos23]; clutter degrades financial risk judgement [Ogn19]; glanceable displays need abstraction, distinct visuals and fixed positions [Mat06]. Working memory holds about four chunks (Cowan, N. 2001, Behavioral and Brain Sciences 24(1): 87–114; grade C, not fetched). The hero, the state and the reference form one chunk when set together, so six elements is about four chunks. The strip on the phone card should be at least 40 px tall, ideally 48–64 px, because charts 40 px tall produce significantly more reading error and there is little gain above 80 px [HB10]; squeeze time horizontally, not vertically [Nes19].

3.4 Colour, given the brand palette, and colour-blind safety

The palette is semantic already (caverio.css): green = observed participation and inflow, rose = reduction, outflow, contradiction, ochre = attention and callers, blue = market context. That is the right shape: one sentence per hue. The problem is perceptual, measured by scripts/t7_palette_cvd.py (Machado et al. 2009 simulation at full severity, CIEDE2000 distance; output data/T7-palette-cvd.txt, grade A for our computation):

Pair Normal Protan Deutan Tritan Meaning at stake
green vs rose 41.6 14.7 10.5 45.5 money in vs money out: the most important pair
ochre vs rose 20.8 11.9 8.0 6.9 attention vs contradiction
green vs blue 23.9 23.4 21.9 8.6 participation vs market context
green vs ochre 26.1 14.6 14.7 40.9 participation vs attention

All four accents pass contrast easily (6.8:1 to 10.8:1 on graphite, WCAG AA text needs 4.5:1). But the accents sit within a narrow lightness range (L* 67 to 82), so for a deuteranope (deutan forms are the most common; overall about 8% of men and 0.5% of women have a colour-vision deficiency [Cra20]) green and rose become two similar pale tones on a small mark.

Rules that follow: 1. Sign and direction are carried by position and glyph, never by hue alone: bars above or below a zero line, ▲/▼ glyphs, "+"/"−" signs, lanes that are always in the same place (attention above, money below). Colour reinforces. This is also WCAG SC 1.4.1. 2. Ochre and rose never meet on the same small mark. Attention lives in its own lane; contradiction is signalled by a glyph (a crossed mark) plus rose. 3. Increase the lightness gap between green and rose if the palette is revisited in visual design: a rose around L 55–60 against green at L 82 would give a lightness difference that survives all three CVD types. Flag for the visual-design step, not a decision here. 4. Maximum one accent at full strength per card (the state), others as 14% tints or 38–42% lines (tokens already in caverio.css). 5. Test with a CVD simulator in the build (Chrome DevTools rendering emulation offers protanopia, deuteranopia and tritanopia; grade C for the current menu names).

3.5 Uncertainty and staleness

Our data has four kinds of uncertainty; each gets one consistent treatment:

Kind Example Treatment
Provider lag DexScreener polled every ~70 s; ingest lag per swap is stored (wiki synthesis) Grey sentence under the hero: "price 1 min old, DexScreener". Only when lag exceeds the provider's normal cadence (e.g. > 3× its poll interval) does the hero number step down in lightness (bone 100% → 62%).
Gap since last print no print for 7 min on a pool that usually prints every minute Hatched span on the strip, labelled; hero number dimmed; the sentence names the duration. The rule from the data audit applies: about a third of DexScreener prints are exact stale repeats, so "last print" means last changed print, and repeats are counted, not shown as fresh.
Single-provider only one source for price or liquidity A small "1 source" caption next to the number, always, not a warning. Two agreeing sources earn nothing extra; two disagreeing sources earn a sentence ("DexScreener $4.2M, GeckoTerminal $3.9M").
Suspect print a lone print under 0.75× both neighbours (the phantom rule in RULES.md) Drawn as an open marker off the line, not connected, labelled "suspect print, no swap at this price" when the tape confirms it. Novel view 4 in the wiki synthesis.
Statistical uncertainty time-to-best from 20 comparables Quantile dots with n printed [Kay16]; never a single number without n.

Principle: staleness is information shown in place, not an alarm. Alarm-fatigue research supports rationing: when most alarms are false, people stop responding or respond at random at the rate they expect alarms to be right [Alarm]; routine lag gets grey text, only a broken assumption (gap on an active pool, suspect print) earns a mark.


4. The proprietary question

Method. Take each gap from 1.4, pair it with the form from section 2, and score it. Novelty (1–5): 5 = nobody in the 19 products shows it; 3 = a partial version exists; 1 = common. Feasibility now (1–5): what our stores hold today according to the wiki synthesis (2026-09-25--what-caverio-can-see-on-one-token...): own chain tape (BSC continuous since 18 Sep, Solana writing again since 09-25 23:41, Robinhood Chain via RPC), holdings reads (Robinhood only), DexScreener price every ~70 s (single provider, a third of prints stale repeats), attention (Fomo 20,500 events, five Telegram caller channels with call price and mcap, X dark since 18 Sep), and our own machinery (55,000 events, 9,600 transitions, 44,000 outcome marks, refusals with reasons). Feasibility is my judgement against that inventory (C); T2, T4 and T5 own the real build estimate. Rank = novelty × feasibility; ties broken by value to a trader deciding in two seconds.

Rank Field + form Novelty Feasible now Score Why this score Rights
1 Refusal line: "Not lit: liquidity $6.2k, floor $10k" with a checklist in the situation view 5 5 25 Nobody reports negatives (1.4 item 7); our machinery already logs every refusal with the reason Ours outright
2 Price provenance caption + suspect-print marker: "price 1 min old, DexScreener, 1 source"; a lone print under 0.75× both neighbours drawn off the line, labelled "no swap at this price" when the tape confirms 5 5 25 No crypto product shows it (1.4 item 6); we have ingest lag per swap, the phantom rule (RULES.md), and the tape to confirm Caption and flag are ours; the price itself is DexScreener's, display as derived ("40% below 1 h high") until T1 clears raw display
3 Attention-to-money lag strip: two lanes on one clock (calls above, tape buys below), bracket labelled "+4 min", per-channel past lags as quantile dots 5 4 20 Nobody computes it (1.4 item 1); we have call times from five channels and the tape on BSC and Robinhood; Solana tape is fresh, X is dark so X mentions are missing Ours (timing facts and tape); call text is not displayed raw
4 Who was already in: a count and a marker on the money lane, "7 of 12 current buyers bought before the first call; 2 seen in earlier calls by this channel" 5 3 15 Nobody ties holders to a call (1.4 item 2); the tape gives buys before the call; recurrence exists (unaudited 0.10 vs 0.27); balances only on Robinhood, so on BSC/Solana it is "bought before", not "still holding" Ours
5 Early holders vs attention, on one clock: early-buyer net sells (tape) as a lane under the attention lane, sentence "attention rising, early buyers net −$3.1k in 30 min" 5 3 15 Pieces exist apart (1.4 item 4); tape-based net sells are a proxy until holdings reads cover BSC and Solana (transfers out are missed) Ours
6 Concentration clock: top-20 buyer share from pool open as a line on the shared clock, bullet graph on the card against the band median 4 3 12 Live UIs lack it (BullX suspended, Nansen top-5 daily); we can compute net buyer share from the tape only for pools watched from open; not true holder share without holdings Ours (derived from our tape)
7 Caller scorecard row: price at call, marks at 15 m / 1 h / 4 h / 24 h, n, dates, censoring caveat printed 3 4 12 GMGN and Trojan show partial versions; we have 44,000 marks, but paper marks priced off a stale quote overstate wins (the 09-24 claim fell from +9% to +2.5%), so marks must be re-priced honestly first Ours (our marks); channel names are public
8 Time-to-best quantile dots: 20 comparable situations as dots on a time axis, n printed 4 3 12 Nobody shows outcome distributions per situation type; depends on T6's forgiving-win measure and on phantom prints being classified out Ours
9 Caller stance track with flips 5 2 10 Nobody measures it; needs whole-chat reading and stance extraction (T4), not built; five channels only Ours as derived stance; raw messages not displayed
10 Mentions vs band peers: dot on a peer strip (p25/median/p75/p90 of the same mcap band), "×3.1 band median" 4 2 8 LunarCrush normalises within a category, not by size band; our attention coverage is thin (X dark, five channels), so the band baseline would be noisy Counts are ours; Fomo text is not
11 Quiet-hours map (when a chain is dead, from the refusal log) 4 5 20 Novel and trivial to compute, but low value per token; belongs in the money brief (layer 1), not the situation card. Listed apart from the ranking for that reason Ours

Reading of the ranking. The two cheapest proprietary components (refusal line and provenance caption) are also the two that most directly express the brand ("confident without pretending certainty") and that no competitor can copy by adding a chip, because they require logging what the system saw and declined. The signature component is rank 3: the two-lane clock strip with the lag bracket. It extends the touch strip that the 09-12 research already identified as the product's own component, it is a position-on-a-common-scale form (the most accurately read, [CM84]), and it is the frame into which ranks 4, 5 and 6 fit as extra lanes. Recommendation: build the clock strip as the backbone, ship ranks 1–3 first, add lanes 4–6 as holdings coverage grows.

What would move feasibility. Holdings reads on BSC and Solana (moves 4, 5, 6 from 3 to 4 or 5); X back (moves 9 and 3); a second price provider (moves 2 from "flagged" to "confirmed" on every print); T4's stance extraction (moves 10).


5. Anti-patterns to ban

Ban Reason
Gauges, dials, speedometers (for pressure, sentiment, risk) Encode by angle, the least accurate usable channel [CM84][HB10]; waste space [Few06]; replace with bullet graphs [FewBG].
Pies and donuts for comparing shares; any exploded or 3D pie Arc/area reading, less accurate than position [HB10]; exploded and enlarged slices add error [SK16]; a donut has no clean place for a reference marker.
Single composite scores ("alpha score", "risk 73/100", "Galaxy Score"-style numbers of our own) Brand brief bans unexplained scores; a score hides which input moved and cannot be checked. Show the inputs with references instead.
Hue as the only carrier of meaning (green/red cells, traffic lights) Fails ~5% of male users (section 3.4), fails WCAG 1.4.1; our own green/rose pair measures 10.5 CIEDE2000 under deuteranopia.
Dual-axis charts (price and mentions on two y axes) Crossings mean nothing but draw the eye [Few08]; use faceted lanes on one time axis [Pla96] or index both series to 100.
Looping motion (pulsing dots, breathing cards, constant-speed tickers) Motion pops preattentively [HE12] and so steals attention for nothing; the 09-12 diagnosis showed loops said nothing about time. Motion only on events.
Countdown timers ticking in seconds; "hot" flames, rockets, sirens Fake urgency and casino register, banned by the brand brief.
Interpolating over gaps; hiding stale data Shows observations that did not happen; the data audit found a third of prints are stale repeats.
Numbers without a reference ("38%", "42 mentions") Cannot be judged in two seconds; every number on a card carries a comparator (band median, first seen, threshold).
Stat-tile grids (every number in an equal box) No hierarchy (09-12 diagnosis A1.8); the eye cannot find the one number that matters.
Nested boxes and pills for everything 09-12 diagnosis A1.3–A1.4: shape carrying six meanings carries none; hierarchy from type and space.
Buy/sell buttons inside the situation card The product shows, it does not judge (mandate); a button styled by zone colour is a verdict.
Raw third-party data displayed as ours (DexScreener prices charted as our candles, Fomo thesis text verbatim) Rights: derived fields only until the rights file says otherwise (wiki synthesis; T1 owns the detail).
Leaderboards without n, dates and censoring (caller rankings) A rank without sample size and window misleads; the wiki synthesis already demands the censoring caveat printed.
Infinite scrolling feeds with no end state A curated look list should end; "nothing more worth a look" is information.

6. Inputs for T8 (wireframes): component types

Each component has one preferred form. "Where" = card (discovery list), sit (situation view), brief (money brief). Sizes are minimums for a 390 px phone unless stated.

ID Component Carries Preferred form Where Rules
C01 StateLine the situation's state dot + word, filled / ring / partial fill for decay, age in text ("money in, 12 min") card top-left, sit header the only full-strength accent on the card; fixed position
C02 HeroNumber the one number the state chooses mono tabular numerals, direction glyph ▲/▼, reference beside it ("×4.1 band median", "3.1× first seen") card, sit one per card; never without a reference
C03 FreshnessCaption provider, age, source count grey sentence under C02: "price 1 min old, DexScreener, 1 source" under every price or mcap dims C02 one lightness step when age > 3× normal cadence
C04 NumberRow mcap, liquidity, age, volume aligned mono row, captions beneath, max 3 on the phone card card, sit same order on every card
C05 ClockStrip the situation timeline horizontal strip on the situation clock: attention lane above, money lane below, typed glyphs, clusters, advancing "now" edge, hatched gaps, lag bracket card (48–64 px, 2 lanes), sit (full, more lanes) the signature component; shared x scale with every chart in sit
C06 LagBracket attention-to-money lag bracket between first call and first buy on C05, labelled "+4 min" inside C05 print "before the call" when buys precede it
C07 FlowBars net buy pressure diverging bars on a zero line per interval, latest ringed card (inside money lane or beside C02), sit sign by position and glyph, colour only reinforces
C08 BulletBar a share, a threshold, a window position Few bullet graph: bar, reference tick, up to 3 grey bands sit; card only when it is the hero reference is band median, value at open, or threshold
C09 LaneLine a series over the situation clock (concentration, early-buyer net, mentions) line in its own lane under price, same x, no second y axis sit never overlaid on price with a second axis
C10 PeerStrip a count relative to the band track with p25/median/p75/p90 marks, token as a dot, "×3.1 median" sit, card when hero print the band and n
C11 StanceTrack a caller's stance over time one row per caller, segments +/○/− on the clock, flip marks with a sentence sit symbols and words, not hue alone
C12 QuantileDots a distribution (time to best, past lags) 10–20 dots on a time axis, median tick, n printed sit never a lone average
C13 ZoneBand a buy or hold window shaded band on the price axis and, if timed, on the time axis; current price marker sit (layer 3, later) no buttons, no countdown in seconds
C14 GapHatch missing observation hatched span with duration label inside C05, C09 never interpolate
C15 SuspectPrint a phantom or unconfirmed print open marker off the line, label "no swap at this price" inside sit price lane classified by the 0.75× rule plus tape check
C16 RefusalLine why not lit / why not surfaced one sentence with value vs threshold; checklist in sit card when relevant, sit ours, the cheapest proprietary component
C17 WaitingForLine what would change the read one sentence (from d8, kept) card bottom, sit one per card
C18 LightsRow categories lit (money, attention, holders, callers) fixed-order dots with short words card, sit same order everywhere
C19 CompositionBar who is buying (new / tracked / recurring) stacked bar, max 3 segments, count sentence sit segment identity by position and label
C20 ScorecardRow a caller's record channel, n, dates, median mark at 15 m / 1 h / 4 h / 24 h, censoring note sit, a caller page never a rank without n
C21 Sparkline a level over a longer window word-sized line, first-seen point and last point labelled, optional normal band card (optional), brief height ≥ 40 px when values are to be read [HB10]
C22 MethodNote how a number is computed and where it disagrees with others one-line "how" link opening a short text sit, beside any derived metric Axiom's bundle note is the precedent
C23 EndOfList curated list ends "Nothing more worth a look since 19:40" discovery a curated look list must end

Layout rules for T8. Phone: two cards above the fold on discovery (each ≤ ~420 px tall, against ~970 px per card in the d8 phone board); situation view one column with C05 near the top. Desktop: 3×3 discovery, situation in two columns (clock left, sheet right). Two disclosure levels only (card, situation) [NN]. Touch targets 44 pt / 48 dp [HIG].


7. What I did not do

Status: DONE