TOKEN SELECTION — FEEDS, FILTERS & FLOW
LIVE · 2026-10-12 05:05:10 UTC
🚰 Candidates 24h
13,499
92 sources active
🚫 Biggest refusal
3,173
admission_reject
⚠ quality_tx no-verdict
83.6%
670 shed vs 131 real
🎯 Admit rate 24h
0.74%
100 admitted
💵 Realised 24h
−$463
closed in window
🗒 Open issues
24
of 39 tracked · 15 done
LIVE 24H
🔥 quality_tx 83.6% no-verdict — shed by our own pacing gate, not by wallet quality🚫 biggest refusal: admission_reject (3,173 in 24h)🎯 admit rate 24h 0.74%📏 trending was invisible to every backtest (tracker clock in decision_ts) — fix Part 1 live (#1356)🍃 <60m tokens = 38% of post-fix losses (#1357)📉 no n≥100 source is significantly +EV (#1355)🔥 quality_tx 83.6% no-verdict — shed by our own pacing gate, not by wallet quality🚫 biggest refusal: admission_reject (3,173 in 24h)🎯 admit rate 24h 0.74%📏 trending was invisible to every backtest (tracker clock in decision_ts) — fix Part 1 live (#1356)🍃 <60m tokens = 38% of post-fix losses (#1357)📉 no n≥100 source is significantly +EV (#1355)
what One surface for which tokens we trade: the live intake funnel, what each source earns, every filter's live threshold and cost, the programme behind it, and the traps that have already produced false verdicts here. Filters and selection are one decision, so they are one page. Green = upside, red = downside, gold = needs your attention.
🚧 Bottleneck map — where every candidate went (24h)
13,568 candidates · each colour is a stage that stopped them · green = entered paper · per source: slots.html · GMGN detail: gmgn.html · per filter: filter_dashboard.html
Other refusals ◀ BIGGEST BOTTLENECK
smaller reasons — see LIVE FUNNEL tab
5,459
40.2%
Admission (volume / decision engine)
vol_skip is LIVE on ~36% of flow while its config says shadow_only (#1376 re-test)
3,671
27.1%
Detector gates
per-source entry gates — trending's $1.5k single-tx gate rejects almost all trending (#1350)
2,859
21.1%
Quality-wallet gate: NO verdict (GMGN unavailable)
GMGN asked 4.4x its capacity, ~87% shed -> #1373 scout fix live 12:37 UTC 260923 + #1377 wallet-polling redesign
670
4.9%
Capacity / hard caps
slots full or source over its hard cap (scout 5/24h, #1373)
609
4.5%
Quality-wallet gate: real verdict
no WhaleMover / S-A / KOL / smart / fresh wallet bought >= $1k ($500 RH) in 1h
131
1.0%
Young-token wait (A/B)
tokens < 60 min parked for one re-check at 60-90 min (#1357 3-arm test)
69
0.5%
ENTERED paper
100
0.7%
§ GMGN capacity — last hour
78% of GMGN requests shed
2,503 asked · 402 served (live+cache) · 1,964 shed · 5 rate-limited (429)
§ Paper slots — open positions
155 / 300 slots used
largest consumer: whalemover_rh 25 open (16%) · share by source on slots.html
🚰 The intake funnel
n=13,550 decisions · trailing 24h · measured read-only from paper_decisions.jsonl
§ Refusal ledger — 24h
What the funnel actually does all day
admission_reject
3,173
23%
mc_below_floor
2,392
18%
strict_gate_reject
1,913
14%
mc_resolved_dexscr
1,783
13%
nonpositive_or_invalid_size
1,284
9%
no_price
739
5%
quality_tx_unavailable
670
5%
decision_reject
498
4%
src_cap
430
3%
fomo_large_tx_reject
207
2%
source_cap
179
1%
quality_tx_reject
131
1%
rescued
82
1%
young_defer
69
1%
§ Heatmap — source × refusal reason
Each source dies in exactly one characteristic way
SOURCEadmission<br>rejmc<br>below<br>floorstrict<br>gate<br>rejmc<br>resolved<br>dexscrnonpositive<br>or<br>invalid<br>sizeno<br>pricequality<br>tx<br>unavailabledecision<br>rejsrc<br>capfomo<br>large<br>tx<br>rej
volume_path2,9061,064·9091,0189237·114·
whalemover_rh4725·573·317599·242·
trending2·1,913···9···
known_conv31473·235234259····
wc:Reaper-Waldo·····31·485··
fomo·········207
source_strategy1557·4·104·74·
leading_conv··········
oggy_kol7323········
wallet_intel62·····13···
control512···6····
alpha_brief11··3432·····
hard refusal no-verdict / missing input capacity cap rescue real verdict opacity ∝ volume
§ The gate that refuses without a verdict
quality_tx: 83.6% of its refusals contain no verdict at all
670 shed / unavailable — blocked without a verdict 801 gate evaluations in 24h 131 real verdicts
  • Traced 260923: the gate shells out to gmgn-cli token traders, which exits 3 (circuit blocking, state-gated) when our own pacing gate sheds it. signal_filters._gmgn() maps every non-zero exit to None, so contention is filed as absence of evidence.
  • It is not a broken client: 8 probes at 4s spacing returned 4 ok / 4 shed, with the GMGN gate closed and zero families in backoff. The lane is losing a contended budget.
  • Root cause (#1373, EXCHANGE #240): scout's own MILESTONE brag rows (92% of scout rows, −$1,791 over 128 trades) were read as entries and each token was re-checked ~18× per run, flooding GMGN. Fixed 260923 12:37 UTC: milestone rows never entries, one row per CA per run, scout hard cap 5/24h. Gate patience was deliberately NOT added. Wallet polling (#1377) is the remaining GMGN load.
💰 What enters, what is refused, what it earned
23,432 ledger legs · 630,718 decisions · 155 open positions
§ Window — every number below re-reads on click
✅ Admitted
·
·
🚫 Refused
·
·
🎯 Admit rate
·
admitted ÷ (admitted + refused)
💵 Realised PnL
·
on trades CLOSED in the window
📐 $ per admit
·
the number that decides what is fruitful
§ Per source — refused (left) vs admitted (right), then what the admissions earned
·
Source🚫 Refused ◀ | ▶ ✅ Admitted RefusedAdmitRate 💵 Realised PnLPnL $$/admitWin%
refused / losing admitted profitable bars log-scaled within the window
§ Refusal mix for this window
🚫 Which gate is doing the refusing
§ How to read this
⚠ Two numbers do not mean what they look like
  • This PnL sum is not the canonical book. Summing pnl_usd over every ledger leg double-counts BAG legs (#1344, ~33% N inflation); the canonical path collapses them and filters resolved outcomes. Rank sources with these bars — never quote the total.
  • “Refused” is not one thing. It mixes real verdicts with capacity caps (src_cap) and no-verdict refusals (quality_tx_unavailable). A big refusal bar can just mean a position ceiling.
  • Admits are legs, refusals are decisions. One token makes many decision rows per scan cycle, so admit-rate is a direction, not a probability.
  • $/admit is the honest ranking column — realised dollars divided by entries that actually opened, so a source cannot look good by being rare.
  • Decision history in this file starts ·; PnL reaches further back than refusals.
⚗ Filter algorithms — live thresholds and what they cost
read live from admission_gate_config.json · volume_gate_config.json · quality_tx_gate.json · admission_gate_log.jsonl
vol_skipLIVE · rejectingcrowded-volume filter
WHAT IT CHECKSRejects tokens whose buying is already crowded. Two ratios are banded LOW/MID/HIGH: net-buy volume 1h ÷ mcap, and volume turnover ÷ mcap. LOW=+1, HIGH=−1, MID=0. Grade A(≥2) and B(1) pass; C(0) and D(<0) are rejected — so MID+MID is rejected.
LIVE THRESHOLDnet_buy_vol_1h/mcap: LOW ≤ 0.0075 · HIGH > 0.0435 | turnover/mcap: LOW ≤ 2.636 · HIGH > 10.24
KNOB TO CHANGEvolume_gate_config.json → bands.*.low_max / high_min · admission_gate_config.json → gate_on_volume_skip
EXCUSED WHENExcused if an S-tier whale is in the signal (True) or a fresh wallet buys ≥ $1500 AND ≥ 0.5% of mcap.
IMPACT3,173 rejected in 24h (39% of gate traffic) · 21,701 in 7d — the single biggest filter.
38.6% of 24h gate traffic
EVIDENCEIC −0.186 (n=1,612); ratio ceiling lifted expectancy −$12.90 → −$1.91 (n=103). Measured 260726, IN-SAMPLE, before the latency/receipt fixes.
⚠ volume_gate_config.json still says shadow_only:true — STALE. It IS enforced (see the 24h rejects).
weak_smart_volumeSHADOW · logs onlysurvival-thesis filter
WHAT IT CHECKSWould reject when BOTH net smart buy $ in the last hour AND the buy/sell ratio are weak. Missing volume data is UNKNOWN and never a reject.
LIVE THRESHOLDnet_usd_1h < $100 AND buy/sell < 2.0 · mode = shadow_log
KNOB TO CHANGEadmission_gate_config.json → weak_smart_volume.min_net_usd_1h / min_buy_sell_ratio / mode
EXCUSED WHENSame exemptions as vol_skip (S-tier whale / fresh large buy).
IMPACT415 would-rejects logged in 24h · 3,325 in 7d (not blocking).
5.0% of 24h gate traffic
EVIDENCE+3.6pt (n=483) — derived from a POISONED log; being re-proven on clean data before any re-enforce.
quality_txLIVE · shed-blockedquality-wallet ≥$1k gate (Chris, EXCHANGE #200/#204)
WHAT IT CHECKSRequires ≥1 WhaleMover/SMART/KOL/FRESH/S-A or GMGN smart_degen/kol/fresh wallet with an average buy ≥ the floor, active within the evidence window and still holding. v2 also accepts a 30m burst or an entity group with identical amounts; snipe/bundler/sandwich tags disqualify.
LIVE THRESHOLDmin $1000 (robinhood $500) · evidence ≤ 1h · still-holding True · 1-in-5 control bypass
KNOB TO CHANGEquality_tx_gate.json → enabled / min_tx_usd / evidence_max_age_hours
EXCUSED WHEN1-in-5 deterministic control bypass (crc32 of chain:CA).
IMPACTSee the LIVE FUNNEL tab — the overwhelming majority of its refusals carry NO VERDICT.
EVIDENCETraced 260923: gmgn-cli exits 3 (circuit blocking, state-gated) and _gmgn() maps every non-zero exit to None, so our own pacing gate shedding the call is filed as absence of evidence.
⚠ Refusing on contention, not on wallet quality. Fix = bounded GMGN_MAX_WAIT patience + a distinct SHED label (#1373).
blacklistedLIVE · 0 fired 24hbad-deployer veto
WHAT IT CHECKSHard veto: the token's creator is on deployer_intel's blacklist.
LIVE THRESHOLDdeployer in DeployerDB blacklist for that chain
KNOB TO CHANGEdeployer_intel DB · admission_gate_config.json → gate_on_veto
EXCUSED WHENNever excused.
IMPACT0 rejected in 24h.
EVIDENCEConfirmed-bad deployers — categorical, not statistical.
exit_onlyLIVE · 0 fired 24hdistribution-signal veto
WHAT IT CHECKSHard veto: the source's only category is an exit/distribution signal, so it is not an entry.
LIVE THRESHOLDsource category == exit in conviction_gates.json
KNOB TO CHANGEconviction_gates.json categories · gate_on_veto
EXCUSED WHENNever excused.
IMPACT0 rejected in 24h.
EVIDENCECategorical — not a statistical threshold.
§ Scanner filters vs runners (#1300)
A filter that passes ~95% of control tokens is not selecting anything
FilterControl passhow much it lets throughRunners passed
age_le_4h99.1%
2/2
mcap_50k_4m79.1%
2/2
mcap_50k_1m77.6%
2/2
liq_ge_5k82.0%
2/2
rug_le_10pct98.7%
2/2
smart_ge_596.1%
2/2
renowned_ge_295.7%
2/2
holder_ge_10097.5%
2/2
n=2 runners — far too few to tune on. Red bars are filters that reject almost nothing.
🗒 The programme — every issue by pipeline stage
status read live from todo.json
§ 🛰 SOURCES & BAKEOFF
#1349DONEP0ASTRA
GMGN + raw-source bakeoff: rank seed sources by measured resolved EV, numeric-first
#1355DONEP1CLAUDE
Source EV ranking rebuilt from tracked script source_ev_rank.py — old untracked ranking wrong in SIGN, not just hit5x
old ranking sign-flipped ~21 rows/signal; no n≥100 source significantly +EV
#1356DONEP1CLAUDE
trending_multi tracker outcomes are LOOK-AHEAD: entry booked median 241s (p90 961s) BEFORE decision — 179,338/179,338 rows fail leakage_audit decision_after_entry
entry booked median 241s (p90 961s) BEFORE the decision — look-ahead
#1350DONEP0ASTRA
trending_multi autopsy: 83.7% of outcomes are SCRATCH+SL_HIT - fix ladder/timing/buy-gate before re-ranking
83.7% of trending outcomes are SCRATCH+SL_HIT
#1358PROPOSEDP1ASTRA
Scout share cap: source occupies 39% of entries despite lowest priority
#1352DONEP0ASTRA
CLASS FIX: signal trade_class intent must reach exit engine - trending advertised SCALP but ran SWING for 80 days
#1353DONEP0ASTRA
SERVER-SIDE universal buy-size admission gate + 50k MC floor - apply >=2x$500 across ALL chains incl Robinhood
§ 📡 FEEDS & CAPTURE
#1364DONEP1BOTH
SYSTEM FIX: durable queryable capture of Dev/Hermes thread (200) + backfill missing messages (class: agent-visible feeds)
#1366DONEP2ASTRA
Build query layer over /opt/data/tg_capture for agent-accessible dev/alpha message search
#1367PROPOSEDP3CLAUDE
Deeper Telegram history backfill (HQ + alpha chats) beyond the 8,000-msg / 2.8-day HQ backfill
#1361PROPOSEDP1BOTH
Whale capture-lag TAIL: p90 657min (11h), only 39% of buys seen <5min — the detection half of the latency thesis
whale capture p90 657min (11h); only 39% of buys seen <5min
#1362PROPOSEDP2CLAUDE
WhaleMover RH alerts show $0 USD on SWING-small buys — token-amount only, USD valuation missing
#1330PROPOSEDP0BOTH
KARPATHY IS WRITE-ONLY TO A HUMAN — ~128 cycles of analysis exist ONLY in Chris's Telegram, nowhere on disk
#1331PROPOSEDP1CLAUDE
Alpha report corpus is unread too — alpha_kb, ALPHA_INSIGHTS, alpha_layers_plan, alpha_feature_scoreboard have no consumer
§ ⚗ FILTERS & GATES
#1321DONEP1ASTRA
Master Filter Dashboard - every feed's filters + measured impact across admission_gate/TDE/sniper/oggy_cap/signal_filters - Chris 260921 open ↗
per-feed filters + measured impact — now merged into this page
#1300APPROVED?
RUNNER-RECALL MASTER FABRIC open ↗
cross-feed filter recall vs top runners — LIVE data dashboard
#1317DONEP0ASTRA
F1: Outcome coverage
#1329PROPOSEDP0BOTH
THE ONLY POSITIVE-EV BUCKETS IN THE SYSTEM ARE THE BUY-PROFILE BANDS — unexploited for 45 cycles
buy-profile bands = the only positive-EV buckets; unexploited 45 cycles
#1322DONEP1ASTRA
OGGY net-buy volume cap MEASURED gate: shadow live, flip to enforce after calibration - Chris 260921
#1312APPROVEDP0BOTH
Convergence detectors STARVE THEMSELVES: one 429 trips the gmgn-gate circuit and blocks the remaining 6-7 calls of the same loop
#1357IN PROGRESSP0CLAUDE
DEFER_YOUNG paper A/B: tokens <60min at entry are 38% of post-fix losses — defer entry to age>=60m
tokens <60m = 38% of post-fix losses; the cap excluded 2/2 runners
#1373DONEP0CLAUDE
quality_tx gate refuses 98.6% of in-scope candidates on MISSING INPUT (GMGN unavailable), not on wallet quality — decide fail-open vs fail-closed
quality_tx refuses 98.6% on a SHED call, not on wallet quality
§ 🧮 JEV SEMANTIC LAYER
#1336PROPOSEDP0ASTRA
EP-TYPESAFE1
#1337PROPOSEDP0ASTRA
Jev calibration harness on frozen Hermes decisions
#1338PROPOSEDP1ASTRA
Jev paper-policy critic + parameter-permutation ranker (shadow)
#1339PROPOSEDP1ASTRA
Jev operations triage pilot: roadmap/Exchange/feed-state
#1340PROPOSEDP2ASTRA
Jev alpha evidence router + claim verifier (shadow)
#1341PROPOSEDP0ASTRA
Jev Lane-0: outcome-labeled narrative/social semantic features on resolved paper ledger (shadow)
v1 was label-leaked (size); leak-free = no signal
#1342DONEP0ASTRA
Jev blast-radius: dedicated key+credit cap, per-lane daily call cap, hash cache (COST BIBLE laws 12/13)
blast-radius: dedicated key+cap+cache — GATES all paid Jev runs
#1346IN PROGRESSP1BOTH
Jev capability expansion map — gated semantic-judgment lane portfolio (broader than token selection)
#1347IN PROGRESSP1BOTH
Alpha-text corpus inventory + timing/provenance tags -> Jev lane routing (whalemover FA, alpha_kb, Karpathy, forensic, dashboards)
#1354PROPOSEDP1ASTRA
Jev probabilistic-decision integration: calibration prior for edge-support + regime-conditional boost test
#1359DONEP1ASTRA
J1 Jev cascade in front of Hermes LLM jobs — verify with Jev, escalate only low-confidence to the LLM
Jev 99% routing @ 0.2s/$0.00003 vs flash 91% — VALIDATED (EXCHANGE #196)
#1360PROPOSEDP1CLAUDE
J2 Telegram alpha router (Jev) — route scanner/relay/retrospective/human; quarantine retrospective as leak, harvest as free outcome labels
#1363DONEP0ASTRA
J1 Jev cascade candidate survey + design proposal
§ ⏱ LATENCY & OUTCOMES
#1328PROPOSEDP0BOTH
WE CANNOT MEASURE OUR OWN LATENCY — every archive verdict is confounded and cannot be de-confounded
signal→entry p50 208s / p95 1550s (26min); event_ts on only 2% of rows
#1327PROPOSEDP1CLAUDE
CORRECTION: kien_convergence measures -4.84pct over N=865 — I argued to revive a detector our own data says to ARCHIVE
#1326PROPOSEDP0BOTH
RECURRENCE ESCALATION: a recommendation repeated N times must raise its own priority — Karpathy band filter is at 47 cycles
#1368PROPOSEDP1BOTH
wallet_outcomes + wallet_scores stale 494h (20 days); inversion_html 137h — System Assessor 4/4 runs, unowned
🔬 Evidence traps
each one has already produced a false verdict on this pipeline
§ Trap 01 · units
📏 Every *_pct is a decimal
  • 5x means max_gain_pct ≥ 4.0, not 400.
  • Cost: a false “hit5x = 0 across 245k outcomes” that would have steered work to re-selecting tokens when the leak was exits.
  • Truth in the last 300MB (23,184 rows): 652 hit 2x+, 135 hit 5x+.
§ Trap 02 · per-row vs per-signal
🔢 ~21 rows per signal
  • signal_outcomes.jsonl writes one row per window, 20m…72h.
  • A per-row count flipped wallet_buysize_edge from +2.2% to −17.2%.
  • Aggregate per signal; rerun source_ev_rank.py rather than counting rows.
§ Trap 03 · leakage
☣ Filter on leakage_audit.valid
  • All 179,338 trending_multi rows book entry a median 241s before the decision.
  • Jev v1’s selection replay leaked the label through size, rewritten at TRAIL close.
  • The paper book is unaffected — prefer it for any selection claim.
§ Trap 04 · absent input
⚠ n=0 is a refusal, not a verdict
  • quality_tx refuses on a shed call and files it as missing evidence.
  • The admission gate once had 99.72% of its shadow rejects come from an empty volume_snapshot.
  • Give UNKNOWN its own branch and never let a default stand in for a measurement.
§ Trap 05 · dead producer vs working filter
🕳 An outage and a good filter look identical
  • The 260909 intake collapse superimposed on the 260915 selection rebuild made “cut >90% of losing intake” unmeasurable.
  • Check the producer runs before crediting a filter; declare gate epochs forward, never backdated.
  • Rebuild inventories on output mtime and row counts, never on last_status — wrong 4/4, both directions.
§ Trap 06 · identifiability
🧩 Selection is not separable from latency and exits
  • Every resolved label = f(selection, latency, exit), and event_ts exists on 2% of rows.
  • Stratify by entry_latency_s band, and treat “selection improved” as unproven until the receipt lands (#1328).
  • Beware peak_ret wick inflation — control shows 45.6% peak≥2x, which cannot be traded.
§ Trap 07 · causation
🧬 A missing dependency is not a traced cause
  • 260923: I verified curl_cffi was absent, found a matching roadmap item, and published it as the cause of the quality_tx blockage in four places.
  • Wrong — the gate uses a subprocess, not that client. Two true facts sat next to each other and adjacency was read as causation.
  • Run the failing call, read its exit code, and name the module the path actually imports.
TOKEN SELECTION — FEEDS, FILTERS & FLOW · generated 2026-10-12 05:05:10 UTC in 6.4s
Live reads: paper_decisions · paper_universal_ledger · admission_gate_log · admission/volume/quality_tx configs · todo.json
green = upsidered = downsidegold = attention#1369 · #1321 · #1373
Generated · claude.ai