System
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.