Session control — SPX pipeline

Gate LOCKED — 2 blockers unresolved
Confirm each blocker before new work is permitted
Service health
auto-trader.serviceDEAD
option_alert.serviceDEAD
copilot.serviceOK
nanny.serviceSIGTERM
ws-consumer.servicewrong table
signal_state.jsonZCVR+DEX ok
Slip tracker
Track B / ThetaData12 sessions
Migration 0196 sessions
ws_consumer table4 sessions
GEXBot rate limit1 session
n8n JWT (Apr 7)1 session
Blockers — confirm each before new work
auto-trader.service + option_alert.service both active
systemctl status both — confirm Active, timer fires 8:25 AM CT
Nanny SIGTERM fixed — retrain completes without rc=-15
Add max_bin:63 + num_threads:2, watch one full retrain cycle
signal_state.json contains ZCVR and DEX as numeric fields
python -c "import json; d=json.load(open('signal_state.json')); print(d['zcvr'], d['dex'])"
Session scope — define before starting
Type exactly what you will build this session. One sentence. No discoveries, no additions.