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

T5: The situation model: owned fields, the lights, ranking, bands, narratives

Worker T5, companion-2026-09-26 programme, written 2026-09-26 00:37 to about 01:30 Beirut. Read-only on every store. Everything built before tonight (states v2 ladder, case builder, Strike rungs, card spec of 09-17) is labelled experimentation below and is cited only as evidence of what we already compute.

Scripts and outputs (rerun from projects/caverio/companion-2026-09-26/):

Script Command Output
scripts/T5-signal-sequences.py python3 scripts/T5-signal-sequences.py data/T5-signal-sequences.json, data/T5-token-signals.jsonl
scripts/T5-bands.py python3 scripts/T5-bands.py (after the above) data/T5-bands.json, data/T5-bands-rows.jsonl
scripts/T5-holders.py python3 scripts/T5-holders.py data/T5-holders.json, tables in logs/T5-holders.out

All three ran at 00:39 to 00:42 Beirut on 2026-09-26 against the live signal-room/data/ (events.sqlite opened ?mode=ro). Window: 2026-09-11 21:30Z to 2026-09-25 21:30Z (14 days).

0. The answer in eight lines

  1. A situation is a token plus a clock: it opens at the first sighting from any intake source and carries every field below against that clock. No stages. Lights, not rungs.
  2. Eight light categories: attention, callers, traders, wallets, tape, holders, momentum, safety. Narrative is a tag and a band-relative heat reading, not a light (reasons in section 4).
  3. Measured over 14 days and 1,429 tokens: 83% of situations never get a second independent signal type within an hour; 17% get two or more, 4.4% three or more. Within 24 h: 24% and 8.9%. So "how many are lit" separates the room sharply, which is what a ranking needs.
  4. But light count at entry does not predict the 24 h outcome on our data (median best-24h +42% with one signal, +42% with two, +31% with three or more, n = 241 / 132 / 35). Lights rank attention and activity, not quality. The page must never present the count as a forecast. This is the most important finding here.
  5. Money usually moves before talk. Watched on-chain wallets are first on 64% of tokens; in 26 of 34 tokens that had both a Telegram caller call and a tracked buy, the tracked buy came first, median 8.6 h earlier. "Who was already in" is not a niche view; it is the normal shape.
  6. Bands behave differently on our own numbers: under $1M the median token touches +46 to +56% within 24 h and 43 to 47% close the day down half or more; $1M to $10M: +29% and 21%; $10M to $50M: +10% and 11% (n = 27, thin). The page reweights by band: tape and first buyers for small caps; holder base, liquidity, narrative and trend for mid caps.
  7. The hold-stage view is buildable today on Robinhood Chain only (tape + RPC balances). BSC has the tape but no holdings pass; Solana has neither live at the wallet level. That is the single biggest gap.
  8. The tape alone overstates who still holds (SPRING: tape says 1,305 wallets hold, RPC says 750 of 861 early buyers exited). Every holder field must come from balances or transfer logs, never swap netting alone.

1. Field catalogue

Legend. Ownership: ours = computed from our own tape, RPC reads or our own machinery; derived-L = a derived field computed from a licensed stream (display the derivative, not the raw); licensed raw = third-party value we may not show raw until T1 clears it. Chains today: RH = Robinhood Chain, BSC, SOL. Hint: the presentation form T7/T8 should start from (rate, share, count-vs-peers, lag, state, timeline, number).

1.1 Identity and market

Field Question it answers Computation Source store Ownership Cadence From Chains Hint
token identity What is this? chain, address, symbol, name, pool(s) events.sqlite tokens, pool-map.json ours on open 08-30 RH, BSC, SOL (+ base/eth call-only) header
situation clock How long has it been on our radar, and since what? firstAt = min(source time) over intake signals; firstType T5 join (this report) ours per event 09-11 (14 d back) all timeline origin
pool age Is this a launch or an old token being rediscovered? now - pool creation (tape first swap on RH/BSC; provider pairCreatedAt otherwise) trades-bsc/, var/trades/, discovery ageMin ours (tape) / derived-L on open 09-10 all number + "new/old" state
market cap How big is it? price x supply ticks/ mcapUsd (dexscreener) derived-L (band label and rounded value) ~70 s 09-10 RH, BSC, SOL band chip + rounded number
cap band Which peer group is it judged against? bands of section 3 on cap at open and now T5 ours per tick 09-10 all chip; "moved up a band" state
price What does it trade at? last own-tape swap price (RH, BSC); provider price elsewhere var/trades, trades-bsc, ticks ours (tape) / licensed raw (SOL) per swap / 70 s 09-12 RH, 09-18 BSC RH, BSC own; SOL licensed sparkline + % from open, % from high
drawdown from high Where is it in its range? price / max(price since open) - 1, phantom-filtered tape or ticks ours / derived-L per swap as above all gauge
liquidity Can I get in and out at my size? pool reserves in USD ticks liqUsd derived-L 70 s 09-10 all number + "slippage at $500" derived
liquidity / cap Is the cap real or thin? liq / mcap ticks derived-L 70 s 09-10 all share, band-relative
volume 1h / 24h Is anyone trading it? sum of swap USD own tape (RH, BSC), ticks vol1hUsd ours / derived-L per minute 09-12 all number + vs band median
volume / liquidity Is it churning? vol1h / liq as above ours / derived-L per minute 09-12 all rate vs band

1.2 Money flow

Field Question Computation Source Ownership Cadence From Chains Hint
net buy pressure 5m / 15m / 1h / 6h Is money coming in or going out right now? usdIn - usdOut per window telemetry/ (per minute), situation-flow/current.json ours 1 min 09-12 RH, BSC (SOL tape restarted 09-25) signed bar strip, windows scale by band
flow acceleration Is the inflow speeding up or fading? last window net minus previous telemetry ours 1 min 09-12 RH, BSC arrow state
buyer and seller counts How many hands, not how much money? walletsIn / walletsOut distinct per window telemetry ours 1 min 09-12 RH, BSC count vs band
new vs returning wallets Fresh demand or the same people churning? newWallets / returningWallets per window telemetry ours 1 min 09-12 RH, BSC share
buy size distribution Retail swarm or a few large tickets? swap USD quantiles per window; count over $1K / $10K tape ours per swap 09-12 RH, BSC histogram glyph
first-hour tape How did the launch go? from pool open: buyers, net USD, top-1 buy share, time to 100 buyers tape ours once at 60 min, then fixed 09-12 RH, BSC fixed summary card
tracked-wallet net What are the wallets we watch doing? onchain-watchtower buy/sell, proof rows events.sqlite onchain-watchtower(+proof) ours per event 09-04 / 09-13 RH (proof), SOL/BSC partial timeline dots
Fomo trader flow What are profiled traders doing? fomo-alerts buy/sell usd per trader events.sqlite fomo-alerts derived-L (who, when, side, size bucket; not thesis text) 300 s 09-09 RH, SOL, BSC timeline dots

1.3 Holders

Field Question Computation Source Ownership Cadence From Chains Hint
early-buyer retention Are the first buyers still in? first-30-min attributed-buyer cohort; RPC balance: held / reduced / exited / unknown holdings/ ours per pass (120 s loop, budgeted) 09-13 RH only stacked share bar + count
concentration clock Is supply gathering in few hands or spreading? top-20 and top-1 share of positive balances, per minute from open tape + (needed) Transfer logs ours 1 min worked example only RH (tape-only, overstated; see 1.8) line next to price
holders count How wide is ownership? wallets with positive balance needs Transfer-log indexer ours (to build) 5 min not yet none reliably number vs band
who was already in Did the money arrive before the attention? wallets that bought before reference event (first call / first covered buy / first X), their share of float at ref and now, still holding tape + T5 signal join + holdings ours per reference event worked example RH (BSC with holdings pass) two-column before/after table
recurring wallets Is this the same crew as last time? early-cohort wallets present in the early cohort of 3+ other tokens holdings/ cohorts ours daily 09-13 RH count + "seen in N launches"
covered-trader exposure Are the named traders who bought still holding? covered buyer wallet balance vs bought holdings/2 coveredLane ours per pass 09-16 RH full; SOL/BSC nonzero-only per-person chip
deployer / top holder share Does one wallet control it? deployer balance, largest holder needs RPC + Transfer logs ours (to build) on open + hourly not yet none share with warning state

1.4 Attention

Field Question Computation Source Ownership Cadence From Chains Hint
Telegram caller calls Which callers called it, when, at what cap? caller call rows: channel, calledAt, callMcap, seenAt events.sqlite watchtower-callers, social-watch, discovery.jsonl ours (timing fact) 300 s 09-03 any chain named timeline + "called at $1.8M, now $X"
caller stance and flip Is the caller still bullish? per caller per token stance over whole chat (T4) T4 msg rows (1,557 msg rows stored) ours (derived from public posts) per message to build (T4) any stance chip with flip marker
Telegram mentions (sweep) Is it being talked about in the wider Telegram crowd? mentions by channel with source time social-sweep/*.json telegram ours (timing and counts); text not ours per sweep 09-16 situation tokens only count per hour vs band
X mentions Is X talking? posts by roster account social-sweep x (dark since 09-18 21:05Z) derived-L dark 09-16 to 09-18 n/a shows "X unavailable" honestly
Fomo theses What are profiled traders saying? stance counts; authors holding fomo-alerts thesis, thesis-enrichment derived-L (stance counts only) 300 s 09-09 RH, SOL, BSC "3 theses: 2 bullish, 1 author holds"
attention intensity vs band Is it loud for its size? mentions per hour / median for tokens in the same band that hour T5 join ours 15 min buildable now all percentile gauge
attention-to-money lag Did buying follow the call or precede it? first buy after reference minus reference; buyers before vs after T5 join + tape ours per reference event buildable now (RH, BSC) RH, BSC signed lag ("money 8 h before the call")
caller scorecard How have this caller's calls done? marks at 15m / 1h / 4h / 24h after each call events.sqlite mark rows (1,142 marks) ours per mark 09-03 any priced chain small table per caller, censoring noted

1.5 Safety

Field Question Computation Source Ownership Cadence From Chains Hint
contract flags Can I sell? Can they mint? honeypot/tax/mint/freeze/owner checks none stored today licensed (GoPlus, RugCheck) or ours (simulate sell via quote) on open not yet none pass/fail chips
LP status Can liquidity be pulled? LP burned/locked/owner-held none stored to build (RPC on LP token) on open not yet none state chip
deployer history Has this deployer rugged before? deployer address, previous tokens, their outcomes none stored (pool creation tx has it) ours (to build) on open not yet none count + outcome summary
suspect-print flag Did that spike actually happen? lone print under 0.75x both neighbours, no swap at that price on the tape ticks + tape ours per tick 09-10 RH, BSC "this print did not trade" marker on chart
rug signature Did liquidity vanish? liq drop over 80% in 10 min, or all sells, no buys ticks, tape ours / derived-L per minute 09-10 all red state

1.6 Our own record

Field Question Computation Source Ownership Cadence From Chains Hint
previous situations on this token Have we seen it before, and what happened? prior situation keys, their open cap and 24h outcome situations.jsonl, outcomes.jsonl ours on open 09-09 all small timeline
previous situations on this deployer Same deployer, earlier launches? needs deployer field to build ours on open not yet none count + outcomes
refusals / paper marks Did our paper engine look at it, and why did it pass? deep-paper crossings and refusal reason deep-paper/book.sqlite ours per crossing 09-22 per engine footnote, experimentation label
outcome marks What did it do after we first saw it? h1/h6/h24 max and close from entry candle outcomes.jsonl ours (from own candles on RH/BSC; derived-L elsewhere) per horizon 09-10 all shown only on closed situations (public record)
comparable What did the most similar past situation do? nearest neighbour on band, age, lights, first type T5 join + outcomes ours on open, hourly buildable now all one line, with n and a caveat

1.7 What each field carries (the evidence rule, kept)

Every field value on the page carries: its source (store and provider), its clock (source time and our receive time), and its basis (the rule that computed it). This is the one thing the experimentation-era case builder (data/case/*.json, schema case/1) did right: every line had facts, sources, clocks, unknown. Keep that shape; drop the stage headline.

1.8 Worked example: concentration clock and who was already in (Robinhood Chain)

Script scripts/T5-holders.py. Shares are of the tape-attributed float (attributed buys minus attributed sells), not total supply; no RPC call was made tonight. Tape start is the first swap on our tape, which is not always pool open.

SPRING (0x440e...36d5), tape 09-14 16:27Z; first watched-wallet buy at tape start; first Fomo covered buy 41 min later (17:08Z); X post 10 h later.

min from tape start price USD buyers so far wallets holding (tape) top-20 share top-1 share
5 0.00142 638 637 0.57 0.15
15 0.00106 759 755 0.60 0.16
30 0.00168 861 858 0.57 0.15
60 0.00266 939 930 0.59 0.14
240 0.00287 1,103 1,078 0.61 0.14
1440 0.00208 1,196 1,147 0.62 0.14
latest (09-25) 0.00155 1,430 1,305 0.62 0.13

Who was already in (reference: first Fomo covered buy): 876 wallets bought before it, 110 in the hour after. The before group still held 68% of the tape float at the latest read; 260 of the 876 are recurring (in the first-30-minute cohort of 3 or more Robinhood launches) against 8 of the 110 who came after. RPC truth on the 861-wallet early cohort (holdings pass 09-24 00:37Z): 50 held, 33 reduced, 750 exited, 28 unknown.

AGRIPPA (0x82ef...1e18), tape 09-18 17:44Z; first Telegram caller call 17:52Z (7 min after tape start); Fomo covered buy 40 min after the call.

min from tape start price USD buyers so far wallets holding (tape) top-20 share top-1 share
5 0.000367 16 16 1.00 0.36
15 0.000330 70 65 0.89 0.17
30 0.000381 142 126 0.76 0.08
60 0.00137 1,070 963 0.37 0.04
240 0.000593 1,800 1,527 0.40 0.04
1440 0.000367 2,161 1,782 0.43 0.06
latest (09-25) 0.000144 3,666 3,073 0.37 0.04

Who was already in (reference: the caller call): 19 wallets before the call, 1,213 in the hour after it; price went 3.6x between minute 30 and minute 60, then gave it all back and more. The 19 early wallets held 100% of float at the call and 1.5% at the latest read; 4 of them are recurring, and 157 of the 1,213 after-call buyers are too. RPC truth on the 142-wallet early cohort: 8 held, 13 reduced, 117 exited.

What the two examples teach the design:


2. The lights

2.1 What the data says about signals (the empirical basis)

Script scripts/T5-signal-sequences.py. 1,429 tokens first sighted in the window (RH 1,032, SOL 237, BSC 48, other chains 112, mostly caller calls on base and ethereum). Six independent signal types counted; our own pattern alert (room_alert) is derived from Fomo rows and is not counted; the tape surge (tape_surge: first minute with $5K in or 10 buys) exists only after a situation opened, so it is reported, not ranked.

Distinct independent signal types within a window of first sighting (full window observed):

window tokens 1 type 2 3 4 5 share 2+ share 3+
1 h 1,427 1,180 184 51 11 1 17.3% 4.4%
6 h 1,403 1,103 204 74 20 2 21.4% 6.8%
24 h 1,367 1,037 208 84 33 5 24.1% 8.9%

Which signal comes first:

type tokens carrying it first on median lag when not first p25 / p75 (min)
watched-wallet buy (on-chain) 1,016 910 23 min 5 / 135
Fomo covered-trader buy 486 265 56 min 15 / 1,564
Telegram mention (sweep) 225 113 99 min 16 / 1,505
Fomo thesis 207 43 5.7 h 45 / 2,549
X mention (roster, to 09-18) 120 47 10.3 h 14 / 3,465
Telegram caller call 79 51 27 h 261 / 4,089
our pattern alert (derived) 457 0 11 min 1 / 188
tape surge (own tape) 163 0 5 h 32 / 1,723

Head-to-head ordering (tokens with both):

pair n first median gap
watched-wallet buy vs Fomo buy 141 wallet 87, Fomo 25 wallet 6 min earlier
Fomo buy vs Fomo thesis 176 buy 143, thesis 33 thesis 79 min after
Telegram mention vs Fomo buy 159 mention 98, buy 61 mention 6 min earlier
caller call vs Fomo buy 31 buy 21, call 10 buy 36 min earlier
caller call vs watched-wallet buy 10 wallet 10, call 0 wallet 28 h earlier
any tracked buy vs caller call 34 buy 26, call 8 buy 8.6 h earlier; only 3 tokens got a tracked buy within 60 min after a call

Reading:

Lights at situation entry against the 24 h outcome (script T5-bands.py, entry = earliest outcome mark, lights counted at or before entry, 580 tokens with a cap, 408 matched):

lights at entry n median best 24 h share +50% median close 24 h share closing -50% or worse
1 241 +42% 46% -32% 39%
2 132 +42% 46% -39% 48%
3+ 35 +31% 46% -37% 43%

No relationship. The lights are an attention and activity ranking, useful for "where should I look first", useless as "which will go up". This matches the mandate ("it does not judge; it shows") and must be printed on the page in plain words.

2.2 The categories

Eight lights. Each lights on a specific event class, each event has an id in events.sqlite or a tape row with txHash, and the light shows the event that lit it.

# Light Lights on (event with an id) Intensity 1 / 2 / 3 Decay half-life (default by band <1M / 1M-10M / >10M)
1 Wallets watched on-chain wallet buy (onchain-watchtower / proof row) 1 wallet / 2 distinct / 3+ distinct or one with an unusual size for that wallet 1 h / 3 h / 12 h
2 Traders Fomo-profiled trader buy or bullish thesis 1 / 2 distinct / 3+ or thesis + buy by different traders 1 h / 3 h / 12 h
3 Callers Telegram caller call (formatted call or T4 whole-chat stance extraction) 1 channel / 2 / 3+ or a caller with a top-quartile scorecard 2 h / 6 h / 24 h
4 Attention Telegram sweep mention, X mention (when back), with source time band-relative percentile of mentions per hour: p75 / p90 / p97 1 h / 3 h / 12 h
5 Tape own-tape anomaly: buyers per minute or net USD above the band's p90 for the pool age p90 / p97 / p99 of band 15 min / 1 h / 4 h
6 Holders early-cohort retention high and top-20 share falling (distribution to new hands); or recurring-wallet cluster present one condition / two / both plus retention above band median 6 h / 12 h / 24 h
7 Momentum price and volume state: new high on own tape with rising buyers, or reclaim of the 1 h high after a drawdown new 1h high / new 6h high / new all-time high on our tape 30 min / 2 h / 6 h
8 Safety (inverted: a warning light) contract flag fail, LP unlocked, deployer with prior rugs, liquidity pull, suspect print amber / red no decay while the condition holds

Why these and not the brief's candidate list: narrative is not an event with an id, it is a classification (section 4), so it tags and filters instead of lighting. Momentum stays because a trader in the hold stage needs it, but it is computed from our tape (RH, BSC) and from derived provider fields elsewhere.

Decay. A light's value is intensity x 0.5^(age / halfLife); below 0.25 it is off. Half-life scales with band because a $300K token's hour is a $30M token's day (supported by the band numbers in section 3: the median small-cap best move happens and reverses inside 24 h; the mid-cap distribution is flat). A light from three days ago is always off: hard cap 72 h regardless of band.

Safety is the exception: it does not add to rank; an amber light caps the situation below all situations without one, a red light moves it to a "blocked" strip that stays visible (showing a rug as it happens is part of the record) but never at the top.

2.3 The ranking function

Proposed, internal, config-held (not emitted as a score; the page shows lights, not a number):

rank = sum_over_lights(decayed intensity)          # how much is lit, with recency built in
     + 0.5 * lights_lit_in_last_60min               # rate of lighting (corroboration speed)
     + 0.5 * band_attention_percentile / 100        # loud for its size
     - safety_penalty                               # amber: floor below unflagged; red: separate strip

Ties by most recent lighting. The room shows within band first (filter chip), with an "all bands" view that interleaves by rank. Configurable weights in one file; any change logged with a version, as states.json did.

Why this is not the ladder: the experimentation-era states v2 ladder (signal-room/model/states.json) had one input (covered Fomo traders), a single path (forming, confirming, active, fading, archived) and time windows that archived a token after 4 h of silence from that one source. Our data shows 64% of tokens are first seen by on-chain wallets, not Fomo, and that talk arrives hours later: a ladder built on one source's windows kills most situations before their second signal arrives. Lights are independent, accumulate from any source, decay per band, and never force a stage.

What survives from the ladder: no light without an event id (the ladder's evidence rule; the data audit found 47% of transitions with empty evidence, which is the exact failure to prevent); the stance rule (a bearish thesis never heats, statesVersion 2); the distinct-actor rule (two posts by one trader are one light at intensity 1); every rule versioned.

2.4 How the lights look (hint for T7/T8)

A row of eight small cells per situation, lit cells filled and fading with decay, the event behind each cell one tap away with its source time. The count is not written as a number on the list; the pattern is. On the situation page, the lights become a timeline strip with one lane per light: this is where "money 8 h before the call" becomes visible without a sentence.


3. Bands and behaviour

3.1 Our numbers

Script scripts/T5-bands.py. 580 tokens with an outcome mark first recorded 09-11 21:30Z to 09-24 21:30Z (24 h observed), cap at entry from ticks within 30 min (528) or our alert row within 60 min (52); 244 dropped for no cap. Best 24 h = highest 5-minute candle high over 24 h from the entry candle close; close 24 h = the 24 h close; low 24 h = phantom-filtered tick low (lone prints under 0.75x of both neighbours removed, stale repeats collapsed).

band at entry n median best 24h p75 best share reaching +50% share reaching +100% median close 24h share closing -50% or worse share touching -50% (ticks)
under $250K 42 +56% +144% 55% 31% -39% 43% 64% (n 28)
$250K-1M 251 +46% +162% 47% 34% -43% 47% 59% (n 232)
$1M-10M 243 +29% +87% 37% 20% -18% 21% 32% (n 218)
$10M-50M 27 +10% +21% 7% 0% -4% 11% 15% (n 20)
over $50M 17 +11% +23% 0% 0% 0% 0% 0% (n 11)

By chain inside the busy bands: $250K-1M RH 110 / SOL 121 / BSC 20 with median best +38% / +53% / +49%; $1M-10M RH 116 / SOL 97 / BSC 30 with +25% / +33% / +42% (full table in data/T5-bands.json, key byBandChain).

Caveats. (a) Best-24h uses candle highs, which include any single-print spike the candle source took; onchain candles (274 of 580) are from our tape and cannot contain a print that did not trade, the other 306 are provider candles and can. (b) Entry is the first outcome mark (382 are situation openings under the ladder, 150 tracked buys), which is the ladder's selection, not a random token sample. (c) $10M-50M and over $50M have n = 27 and 17: directional only. (d) "Best within 24 h" is not a tradeable return; it is the forgiving-win upper bound T6 works from.

3.2 External evidence

3.3 What the page changes per band

band what matters first what moves down light half-lives flow windows
under $250K first-hour tape, who was already in, safety, liquidity narrative heat, holder count 1 h 1 / 5 / 15 min
$250K-1M tape, early-buyer retention, attention-to-money lag, caller stance narrative 1 h 5 / 15 / 60 min
$1M-10M net flow by hour, retention, concentration clock, caller scorecards first-hour tape (history now) 3 h 15 min / 1 h / 6 h
$10M-50M holder base (count and spread), liquidity depth, narrative heat vs band, trend on 4 h / 1 d first buyers, launch tape 12 h 1 h / 6 h / 24 h
over $50M watch view: trend, flows by day, narrative, holders everything launch-related 12 h 6 h / 24 h / 7 d

A token that crosses a band keeps its situation and changes layout; the band move itself is an event on the timeline ("moved from $1M-10M to $10M-50M at 14:20").


4. Narratives

4.1 Tagging

Four inputs, in order of trust:

  1. Deployer metadata: token name, symbol, description, website, socials in the metadata URI (Pump.fun and most launchpads carry it; on EVM, the token's name/symbol plus any launchpad API). Ours to read, the text is the deployer's.
  2. Name and ticker heuristics: keyword and embedding match to a fixed taxonomy (AI and agents, animals, political and news, celebrity, stocks and "stonk" tokens, chain-native and ecosystem, gaming, culture memes, utility claims). Cheap, runs on every token, no LLM needed for 80% of cases (estimate, C).
  3. Caller text: the whole-chat messages T4 ingests (1,070 PowsGemCalls msg rows alone) and call snippets (for example the Sugar call on CATALYST, 09-25 19:34Z: "Supposedly the Polymarket of Base"); an LLM pass tags narrative and stance together, one call per new message batch.
  4. X text: when X returns. Dark since 2026-09-18 21:05Z.

Store the tag with its inputs and a confidence (metadata-only, heuristic, caller-confirmed). A token can have two tags.

Cost estimate (C): 1,429 tokens in 14 days is about 100 new tokens a day; one small-model tagging call per token plus one per caller-message batch is well under 1M tokens a day, under a dollar a day at small-model prices. Heuristic pass: negligible CPU.

4.2 Heat

Narrative heat is band-relative and has three parts, all computed from our own rows:

Show as a small table per band: narrative, count, money, attention, each as a ratio ("AI: 3.1x usual count, 1.4x usual money"). Heat never lights a situation; it sits on the band view and as a tag colour on the situation.

4.3 What is honest to show


5. Hold-stage view

A trader who is already in wants, in this order:

# Need Field Have today?
1 Is money still coming in? net buy pressure by band windows, acceleration, buyer count yes on RH and BSC (telemetry); SOL needs the restarted tape to reach telemetry
2 Are the people who got in before me leaving? early-cohort retention (held / reduced / exited), covered-trader exposure RH only (holdings); BSC needs a holdings pass on the existing tape; SOL needs tape + token-account reads
3 Where is price in its range, and did that spike trade? drawdown from high, suspect-print flag yes (tape RH/BSC; ticks elsewhere with the phantom test)
4 Is attention rising or dying, and did a caller flip? mentions per hour vs band, caller stance and flips counts yes (Telegram); stance and flips need T4
5 Is liquidity still there for my exit size? liquidity, slippage at the user's size, liquidity pulls liquidity yes (derived); slippage needs a quote call (exists in paper-tiered quoting code)
6 Is supply concentrating (someone accumulating to dump) or spreading? concentration clock needs Transfer-log indexer (tape-only is overstated, section 1.8)
7 Exit under the noise attention rising while early holders reduce, as one state buildable on RH today from (2) and (4); elsewhere after (2)
8 Safety changes LP unlock, owner actions, deployer moving tokens not built

The view: a big number for net flow in the band's primary window, a retention bar, the price sparkline with suspect prints marked, the lights strip, and one sentence of "what changed since you last looked". No buy/sell instruction.


6. Lifecycle

state condition shown
open first intake event (any of the six sources) explore list, low unless lit
heating rank rising: a new light in the last hour, or two lights lit rises in the room
cooling no new light for two half-lives and flow net negative falls, dimmed
closed all lights off (decayed) for 24 h, or liquidity below $1K, or rug signature leaves the room; enters the public record

These are display states derived from lights, not a ladder: a closed situation reopens as a new situation on the same token when a new event arrives (keyed token#openedAt, as today), linked to its predecessor so "seen before" works.

Kept: everything (retention rule, Thomas 2026-09-19): every event, every light with its event id, rank snapshots every 15 min, the field values at open, at peak rank and at close.

Public record per closed situation: token, band at open, opened and closed times, which lights lit and when (source names and timing, which are ours), the outcome marks from our own candles (best and close at 1 h / 6 h / 24 h), and the caller scorecard entries it contributed to. No licensed raw values (no provider price series, no thesis text).


7. Gap list (to T2 infra and T4 intake)

# Field wanted Missing input To
1 Early-buyer retention on BSC holdings pass over trades-bsc/ (tape exists since 09-18; 1,404 holdings files are stubs) T2
2 Any wallet-level field on Solana Solana tape live to telemetry (restarted 09-25) + getTokenAccountsByOwner reads T2
3 Concentration clock, holder count, top holder ERC-20 Transfer log indexer per watched token (not swap netting) T2
4 Contract flags, LP status a safety check on open (licensed GoPlus/RugCheck or own sell simulation); rights by T1 T2, T1
5 Deployer history deployer address from pool/token creation tx, stored per token; join to outcomes T2
6 Caller stance and flips whole-chat extraction over msg rows (1,557 stored, 0 with token address) T4
7 Attention breadth more caller channels; X back or a replacement source T4, T1
8 Narrative tag deployer metadata fetch on open; tagging pass T4 (text), T2 (store)
9 Pool open time and first-hour tape for every token tape must start at pool creation, not at situation open (musegram's tape started 16 min after the first Fomo buy) T2
10 Band-relative percentiles a 15-minute band aggregate table (mentions, flow, buyers per band per pool-age bucket) T2
11 Evidence on every light event ids on alerts and situation rows (audit: alerts carry 0 event ids; 47% of transitions empty) T2
12 Provider clock on prices source + providerAt on ticks, raw sidecar (bead 44ht) T2
13 Slippage at user size quote call per situation on demand T2

8. What I did not do

Status: DONE