Guards

Updated 23 Oct 13:02:30 BKK by kookwatch. Alert sender (leader): kookwatch. Open problems that every layer failed to fix: 7
- research-box: history rebuild moving (one-time, paid) - no progress for 6.8 h (bad 5.7 h; 12 fix(es), last: restart hist-rh (rc 0))
- research-box: M picker learning loop ran (hourtrain, hourly) - 349.2 h old (max 4.0 h) (bad 338.7 h; no automatic fix exists)
- kookwatch: machine - disk 89% used, 5146 MB RAM free, load 8.41 (bad 39.6 h; no automatic fix exists)
- kookwatch: M runtrack snapshots freshness (Test Manager, from super) - 126.0 h old (max 75 min) (bad 124.8 h; 728 fix(es), last: restart runtrack.service (rc 0))
- kookwatch: M 10 s holder and buy/sell tape freshness (Test Manager, from super) - 110.7 h old (max 30 min) (bad 110.2 h; 643 fix(es), last: restart rhfast.service (rc 0))
- kookwatch: M Picker retrain freshness (Test Manager, from super) - 188.1 h old (max 36.0 h) (bad 152.1 h; 887 fix(es), last: restart hist-retrain.service (rc 0))
- kookwatch: M Launch catch-up (reconcile) freshness (Test Manager, from super) - 150.2 h old (max 10 min) (bad 150.0 h; 875 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 24 s ago
AI pick feed reaches this boxOK-2 s old
L Git snapshot cron jobOK1 jobs present
L Git snapshot ranOK113 s 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)OK50 s old
dashboard pnl2.htmlOK53 s old
dashboard pnl2v.htmlOK53 s old
dashboard tests.jsonOK54 s old
gmgnd (live sells) runningOKrunning
gmgnd answersOKanswers ping {"warmOk": 1263, "warmErr": 1, "lastWarmMs": 213}
guard triggersOKcron + timer present
machineOKdisk 37% used, 381 MB RAM free, load 4.05
outside-money cardOK110 s old
paper test 1 fml2OKrunning, heartbeat 0 s
paper test 1b fml2vOKrunning, heartbeat 0 s
safety + dashboard cron jobsOK12 jobs present
kookwatch - local guard 0 s ago
60 s AI picker (feeds paper tests)OKrunning, heartbeat 7 s
L Git snapshot cron jobOK1 jobs present
L Git snapshot ranOK45 min old
L ROT chains.json from rot-box (Manager)OK27 min old
L ROT closes.json from rot-box (Manager)OK57 min old
L ROT map-data.json from rot-box (Manager)OK10 min old
L ROT rh_drill.json from rot-box (Manager)OK47 min old
L ROT rotation.json from rot-box (Manager)OK40 min old
L ROT rotmap.json from rot-box (Manager)OK97 min old
L ROT sync main<->rot-box (Manager)OK21 s old
L judge guard ok (PP Data)OK17 s old
L lane check ok (PP Data)OK4 s old
L lane price tracker (PP Data)OK20 s old
L lane stats page (PP Data)OK103 s old
L live-change log cron jobOK1 jobs present
L nightly review cron jobOK1 jobs present
L nightly review pageOK5.4 h old
M 10 s holder and buy/sell tape freshness (Test Manager, from super)BAD110.7 h old (max 30 min)643 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)BAD150.2 h old (max 10 min)875 fix(es): restart reconcile.timer (rc 0)
M Live job checker (sentinel) freshness (Test Manager, from super)OK19 s old
M PP Feeds layer-2 guard (ppfeedguard2)OKrunning, heartbeat 7 s
M PP data cron lines (PP Data)OK3 jobs present
M PP data liquidity table (liqinc) (PP Data)OK39 min old
M PP data picker-box copy (pbsync pull) (PP Data)OK8 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)OK1 s old
M PP feed GMGN board (price-predict-rh)OKrunning, heartbeat 43 s
M PP feed crewlive (crews)OKrunning, heartbeat 0 s
M PP feed klinesOKrunning, heartbeat 37 s
M PP feed ponstape (Pons curve)OKrunning, heartbeat 18 s
M PP feed rhledgerOKrunning
M PP feed runtrack (runners)OKheartbeat 126.0 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)BAD188.1 h old (max 36.0 h)887 fix(es): restart hist-retrain.service (rc 0)
M SW engine w2coder (paper)OKrunning, heartbeat 37 s
M bot watchdog freshness (Test Manager, from super)OK77 s old
M cleaner freshness (Test Manager, from super)OK3 min old
M daily miss review in cronOK1 jobs present
M gmgn feeds recorder freshness (Test Manager, from super)OK34 s old
M instant miss watch ranOK2 min old
M lane price tracker (lanetrack) freshness (Test Manager, from super)OK20 s old
M lane radar v3 (laneradar3) freshness (Test Manager, from super)OK6 s old
M lane radar v3 beat (PP Data)OK6 s old
M lane stats page (lanestats) freshness (Test Manager, from super)OK103 s old
M meta radar (metaradar) freshness (Test Manager, from super)OK83 min old
M paper test (pp-paper) freshness (Test Manager, from super)OK9 s old
M picker learning loop cron (hourly)OK1 jobs present
M ppinc hourly new pools + supply (PP Data)OK21 min old
M rate-limit review in cronOK2 jobs present
M rate-limit review ran (heartbeat)OK37 min old
M runtrack snapshots freshness (Test Manager, from super)BAD126.0 h old (max 75 min)728 fix(es): restart runtrack.service (rc 0)
S AI picker (paper) freshness (Test Manager, from super)OK7 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)OK10 s old
S fast checker livewatchOKrunning, heartbeat 10 s
S live scanner rhfast (feeds Price Predict)OKrunning, heartbeat 37 s
S live settings watchdogOK1 jobs present
S live settings watchdog ranOK20 s old
backup picker aipick5b stays offOKoff (as decided)
drpc_paid.json is freeOKpoints to robinhood.drpc.org
guard triggersOKcron + timer present
machineBADdisk 89% used, 5146 MB RAM free, load 8.41
paid key: no stray copiesOKpaid key only in the opt-in files (scanned 35 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 dashboardOK18 s old
rpc_keys.json is freeOKpoints to robinhood.drpc.org
rpcpool.py healthyOKcompiles
testspub cron jobOK1 jobs present
picker-box - local guard 29 s ago
L Git snapshot cron jobOK1 jobs present
L Git snapshot ranOK45 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 33% used, 599 MB RAM free, load 0.16
rpc_keys.json is freeOKpoints to robinhood.drpc.org
research-box - local guard 28 s ago
L Git snapshot cron jobOK1 jobs present
L Git snapshot ranOK45 min old
L kitbOK58 s old
L shadow grid report (Test Manager, nightly 02:30)OK10.1 h old
L trending feedOK2 min old
M KITFAST kit feed (PP Feeds)OKrunning, heartbeat 0 s
M PP Feeds layer-1 guard (ppfeedguard)OKrunning, heartbeat 6 s
M auditq ranOK2 min old
M crew tagger pretagOKrunning, heartbeat 2 s
M datajob runner ranOK29 s old
M flowwatch ranOK10 min old
M ideaq ranOK9 min old
M killbot ranOK51 min old
M paper cards ranOK2 min old
M picker learning loop ran (hourtrain, hourly)BAD349.2 h old (max 4.0 h)
M v3 live feed v3liveOKrunning, heartbeat 1 s
M v3 mc5 paper bookOKrunning, heartbeat 2 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)BADno progress for 6.8 h12 fix(es): restart hist-rh (rc 0)
machineOKdisk 88% used, 8439 MB RAM free, load 24.75
paid key: no stray copiesOKpaid key only in the opt-in files (scanned 13 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