Health matrix
What is actually feeding hello
Every route returns 200 · that is not the same as working
live · stale · absent
16 of 16 feeds live
16 live
0 stale
0 absent
4 unwired
Market is closed — intraday feeds are expected to be stale. Rows tinted red are stale anyway and should not be.
Contract sizes
Contract sizes
SENSEXUNVERIFIABLE
table 20
SENSEX is a BSE contract and the scrip-master scan reads NSE rows only — not checked, rather than checked and passed.
BANKNIFTYMATCH
table 30 · live 30
BANKNIFTY lot 30 confirmed live.
NIFTYMATCH
table 65 · live 65
NIFTY lot 65 confirmed live.
The lot size multiplies every rupee figure hello prints — risk, target, P&L, the money stop. NSE last revised index lots in January 2026. A stale one here breaks nothing and errors nowhere; it just makes every rupee number wrong by a constant factor.
Feeds
Backfill greeks (gamma/IV)
live
0 written last tick of 100,000 scanned; raw pull complete
/thesis · 0m ago · expected every 60m
feeds: the gamma axis of the thesis test, GEX/DEX forward-return backtests
Daily bars (CPR / ATR)
live
44 sessions, last close 22,520.45
/intraday
feeds: CPR band, daily ATR, the whole day-shape read
Dealer delta (DEX)
live
net DEX —
/dex
feeds: dealer positioning panel
Dealer gamma (GEX)
live
regime —, flip —
/gamma
feeds: regime, gamma flip, walls, negative-gamma setup rule
Decision engine
live
— / —
/
feeds: the single verdict everything else defers to
Event board
live
11 signals
/events
feeds: event veto on the day gate
FII / DII participant data
live
—
/fii
feeds: Stage 1 positioning, the positional lane
Global positions
live
0 instruments
/global-positions
feeds: overnight context
IV / VRP
live
— atm_iv —
/iv-term-structure
feeds: VRP axis on /thesis, IV-crush veto
Intraday candles (5m)
live
76 bars, last —
/intraday
feeds: opening range, VWAP, day type, the whole setup board
OI pulse
live
21 strikes carrying OI
/oi-pulse
feeds: single-candle OI writes
Option chain (Nifty)
live
spot 22,520.45, 21 strikes
/option-chain
feeds: gamma, DEX, walls, max pain, every ticket
Pattern miner
live
SUCCESS, 10 patterns
/patterns
feeds: train/holdout hit rates
Risk desk
live
budget ₹—
/desk
feeds: the daily risk budget every ticket is sized against
Top-10 constituents
live
15 stocks read
/constituents
feeds: breadth, constituent buildup
Trend regime
live
—
/trend
feeds: multi-day context on Home
Built but never called
vanna_exposure_signalGeneral-purpose wrapper around vex_signal. Unused by design now: it fetches a far-dated 30-90 DTE expiry, while vanna is computed on the traded chain in decision_engine.
strike_volume_profilePer-strike volume profile and VWAP. Built, never imported.
trader7_fade_modePositive-gamma fade entry path. Built, never imported.
backfill_vixOne-time India VIX history seed. A script, not a live path.
These modules exist in the repo and nothing imports them.
They are not failing — they are simply not part of any live path.
How to read this
Live — a real value, refreshed inside its own cadence.
Each feed is judged against its own schedule: the chain every minute, the
macro panel every fifteen. One threshold for both would flag the healthy
feed and excuse the broken one.
Stale — a real value that has stopped refreshing.
After 15:30 that is expected for anything intraday. For a feed that runs
around the clock it means the feed actually stopped, and the row is
tinted.
Absent — no value at all, with the reason. Some are
permanent and known: NSE blocks server IPs, so participant data arrives by
manual relay rather than automatically.