Guards

Updated 31 Oct 06:57:32 BKK by kookwatch. Alert sender (leader): kookwatch. Open problems that every layer failed to fix: 5
- kookwatch: machine - disk 87% used, 4301 MB RAM free, load 6.25 (bad 147.6 h; no automatic fix exists)
- kookwatch: M runtrack snapshots freshness (Test Manager, from super) - 311.9 h old (max 75 min) (bad 310.7 h; 1812 fix(es), last: restart runtrack.service (rc 0))
- kookwatch: M 10 s holder and buy/sell tape freshness (Test Manager, from super) - 296.6 h old (max 30 min) (bad 296.1 h; 1727 fix(es), last: restart rhfast.service (rc 0))
- kookwatch: M Picker retrain freshness (Test Manager, from super) - 374.0 h old (max 36.0 h) (bad 338.0 h; 1971 fix(es), last: restart hist-retrain.service (rc 0))
- kookwatch: M Launch catch-up (reconcile) freshness (Test Manager, from super) - 336.1 h old (max 10 min) (bad 335.9 h; 1959 fix(es), last: restart reconcile.timer (rc 0))

Layer 1 = each box's own guard (twice a minute). Layer 2 = the other boxes call its entry over SSH every minute (revive guard, start dead units). Telegram only when both fail. To stop a unit on purpose: systemctl disable --now X or touch /opt/guard/hold/X.

firstmin-trader - local guard 4 s ago
AI pick feed reaches this boxOK0 s old
L Git snapshot cron jobOK1 jobs present
L Git snapshot ranOK2 min old
L live-change log cron jobOK1 jobs present
LIVE bot fmmc5 (real money)OKrunning, heartbeat 2 s
S stop rule: 10 losses in a row (paper/live test 2 only; Ben 8 Oct: none for fmmc5)OK1 jobs present
dashboard pnl.html (live)OK22 s old
dashboard pnl2.htmlOK25 s old
dashboard pnl2v.htmlOK25 s old
dashboard tests.jsonOK26 s old
gmgnd (live sells) runningOKrunning
gmgnd answersOKanswers ping {"warmOk": 34704, "warmErr": 7, "lastWarmMs": 216}
guard triggersOKcron + timer present
machineOKdisk 38% used, 269 MB RAM free, load 2.85
outside-money cardOK2 min old
paper test 1 fml2OKrunning, heartbeat 1 s
paper test 1b fml2vOKrunning, heartbeat 1 s
safety + dashboard cron jobsOK12 jobs present
kookwatch - local guard 29 s ago
60 s AI picker (feeds paper tests)OKrunning, heartbeat 0 s
L Git snapshot cron jobOK1 jobs present
L Git snapshot ranOK39 min old
L ROT chains.json from rot-box (Manager)OK21 min old
L ROT closes.json from rot-box (Manager)OK51 min old
L ROT map-data.json from rot-box (Manager)OK5 min old
L ROT rh_drill.json from rot-box (Manager)OK41 min old
L ROT rotation.json from rot-box (Manager)OK35 min old
L ROT rotmap.json from rot-box (Manager)OK3.5 h old
L ROT sync main<->rot-box (Manager)OK54 s old
L judge guard ok (PP Data)OK17 s old
L lane check ok (PP Data)OK5 s old
L lane price tracker (PP Data)OK3 min old
L lane stats page (PP Data)OK6 min old
L live-change log cron jobOK1 jobs present
L nightly review cron jobOK1 jobs present
L nightly review pageOK23.3 h old
M 10 s holder and buy/sell tape freshness (Test Manager, from super)BAD296.6 h old (max 30 min)1727 fix(es): restart rhfast.service (rc 0)
M AI picker round 5 (paper) freshness (Test Manager, from super)OK0 s old
M Ben Telegram buttons (benbot)OKrunning
M Ben Telegram line in cronOK2 jobs present
M Launch catch-up (reconcile) freshness (Test Manager, from super)BAD336.1 h old (max 10 min)1959 fix(es): restart reconcile.timer (rc 0)
M Live job checker (sentinel) freshness (Test Manager, from super)OK29 s old
M PP Feeds layer-2 guard (ppfeedguard2)OKrunning, heartbeat 17 s
M PP data cron lines (PP Data)OK3 jobs present
M PP data liquidity table (liqinc) (PP Data)OK33 min old
M PP data picker-box copy (pbsync pull) (PP Data)OK11 s old
M PP data ponstape (PP Data)OKrunning
M PP data ppexit honest-exit tracker (PP Data)OK1 s old
M PP data venuepick paper picker (PP Data)OK0 s old
M PP feed GMGN board (price-predict-rh)-disabled on purpose
M PP feed crewlive (crews)OKrunning, heartbeat 11 s
M PP feed klinesOKrunning, heartbeat 2 s
M PP feed ponstape (Pons curve)OKrunning, heartbeat 0 s
M PP feed rhledgerOKrunning
M PP feed runtrack (runners)OKheartbeat 311.9 h old but log live (not hung)
M Picker guard (pickguard) freshness (Test Manager, from super)OK17 s old
M Picker retrain freshness (Test Manager, from super)BAD374.0 h old (max 36.0 h)1971 fix(es): restart hist-retrain.service (rc 0)
M SW engine w2coder (paper)OKrunning, heartbeat 14 s
M bot watchdog freshness (Test Manager, from super)OK4 min old
M cleaner freshness (Test Manager, from super)OK6 min old
M daily miss review in cronOK1 jobs present
M gmgn feeds recorder freshness (Test Manager, from super)OK99 s old
M instant miss watch ranOK108 s old
M lane price tracker (lanetrack) freshness (Test Manager, from super)OK3 min old
M lane radar v3 (laneradar3) freshness (Test Manager, from super)OK0 s old
M lane radar v3 beat (PP Data)OK0 s old
M lane stats page (lanestats) freshness (Test Manager, from super)OK6 min old
M meta radar (metaradar) freshness (Test Manager, from super)OK104 min old
M paper test (pp-paper) freshness (Test Manager, from super)OK102 s old
M picker learning loop cron (hourly)OK1 jobs present
M ppinc hourly new pools + supply (PP Data)OK15 min old
M rate-limit review in cronOK2 jobs present
M rate-limit review ran (heartbeat)OK31 min old
M runtrack snapshots freshness (Test Manager, from super)BAD311.9 h old (max 75 min)1812 fix(es): restart runtrack.service (rc 0)
S AI picker (paper) freshness (Test Manager, from super)OK0 s old
S P3 mirror cross (a1pull@cross)OKrunning
S P3 mirror early (a1pull@early)OKrunning
S backup checker (livewatch2) freshness (Test Manager, from super)OK17 s old
S fast checker (livewatch) freshness (Test Manager, from super)OK1 s old
S fast checker livewatchOKrunning, heartbeat 1 s
S live scanner rhfast (feeds Price Predict)-disabled on purpose
S live settings watchdogOK1 jobs present
S live settings watchdog ranOK53 s old
backup picker aipick5b stays offOKoff (as decided)
drpc_paid.json is freeOKpoints to robinhood.drpc.org
guard triggersOKcron + timer present
machineBADdisk 87% used, 4301 MB RAM free, load 6.25
paid key: no stray copiesOKpaid key only in the opt-in files (scanned 32 min ago)
paid key: only allowed processesOKonly allowed processes use the paid key
pick feed file l2picks.jsonOK0 s old
pick feed l2feedOKrunning, heartbeat 0 s
published tests dashboardOK51 s old
rpc_keys.json is freeOKpoints to robinhood.drpc.org
rpcpool.py healthyOKcompiles
testspub cron jobOK1 jobs present
picker-box - local guard 5 s ago
L Git snapshot cron jobOK1 jobs present
L Git snapshot ranOK40 min old
M lab paper books-on hold (/opt/guard/hold/labbooks)
M shadow picker pbshadowOKrunning
free RPC relay (2nd IP)OKrunning
guard triggersOKcron + timer present
machineOKdisk 34% used, 494 MB RAM free, load 0.40
rpc_keys.json is freeOKpoints to robinhood.drpc.org
research-box - local guard 5 s ago
L Git snapshot cron jobOK1 jobs present
L Git snapshot ranOK40 min old
L kitbOK7 min old
L shadow grid report (Test Manager, nightly 02:30)OK3.4 h old
L trending feedOK29 s old
M KITFAST kit feed (PP Feeds)OKrunning, heartbeat 8 s
M PP Feeds layer-1 guard (ppfeedguard)OKrunning, heartbeat 5 s
M auditq ranOK7 min old
M crew tagger pretagOKrunning, heartbeat 23 s
M datajob runner ranOK88 s old
M flowwatch ranOK5 min old
M ideaq ranOK4 min old
M killbot ranOK46 min old
M paper cards ranOK2 min old
M picker learning loop ran (hourtrain, hourly)OK4 min old
M v3 live feed v3liveOKrunning, heartbeat 1 s
M v3 mc5 paper bookOKrunning, heartbeat 0 s
S A1 early + cross feed (a1feed)OKrunning, heartbeat 0 s
drpc_paid.json is freeOKpoints to robinhood.drpc.org
guard triggersOKcron + timer present
history rebuild moving (one-time, paid)OKlast write 27 min ago
machineOKdisk 88% used, 10937 MB RAM free, load 5.28
paid key: no stray copiesOKpaid key only in the opt-in files (scanned 53 min ago)
paid key: only allowed processesOKonly allowed processes use the paid key
rebuild moves to free when done (cron)OK1 jobs present
rpc_keys.json is freeOKpoints to robinhood.drpc.org
rpcpool.py healthyOKcompiles