Overnight comprehensive screen COMPLETE: 2,384 funds, 250 candidates, RESEARCH.md results + next iterations

This commit is contained in:
Greg Pomerantz 2026-08-27 06:56:33 -04:00
parent 11f569b2ab
commit 4fdd5fcfd1
5 changed files with 260 additions and 5 deletions

View File

@ -92,10 +92,43 @@ not a gate.
match the alpha name pattern - the other 2,330 are exactly what
the v1 name-filter would have missed. Worklist cached in
universe_cache/selected.json.
- [ ] download: 1,960 missing symbols via goget, 200/batch, ~3.3s/sym
(ETA ~1:20 AM). Logs to fundlab/overnight.log + this file.
- [ ] screen: ~2,384 x 0.3s ≈ 25 min -> search_all.json.
- [ ] finalize: verdict counts + "candidates v1 would have missed".
- [x] download: 1,960 symbols (resumed at 1,823 after the watchdog
kill-test). Logs to fundlab/overnight.log + this file.
- [x] screen: 2,384 funds -> search_all.json (1.2MB).
- [x] finalize: verdict counts + "candidates v1 would have missed".
### RESULTS (run finished 2026-08-27 03:23, 5.2h, watchdog exited clean)
- 2,384 screened: 250 CANDIDATE, 1336 sleeve mix, 707 weak, 42
alpha-but-correlated, 32 not-persistent, 17 no-5y-window.
- Of the 250: ~37 are short-duration/floating-rate/money-market CARRY
(model artifact - the 21-sleeve set has no short-duration axis, so
carry shows up as a positive intercept). The rest mix:
a) GENUINE idiosyncratic alpha: hmezx NexPoint Merger Arb (t5 7.1,
tF 4.6, corr 0.14), mervx The Merger Fund, egrix Eaton Vance
Global Macro (R2 0.07, +7.9%), wmnux Westwood Alt Income,
dmszx Destinations Multi-Strat, anglx Angel Oak Multi-Strat,
aguax Am Beacon Dev World Income (+6.5%, t5 3.7), femdx
Franklin EM Debt Opps (+6.0%), rctix River Canyon TR Bond
(t5 5.6), kmdnx Kinetics Multi-Disciplinary.
b) MISSING-FACTOR exposures (sector not in the 21 sleeves, so
sector exposure reads as "alpha"): munis (hicox, fhmix),
preferreds (lpxax, dpiax), EM debt (femdx), securitized credit
(scfzx), TIPS/real-return.
- ~200 candidates have "boring" names the v1 alpha-name filter would
have rejected - direct quantification of the v1 blind spot.
- eniax SIIT Opportunistic Income: t5 10.1 but tF 1.44 -> alpha is
RECENT (last 5y), not full-history. Good thing the screen keeps both
stats.
### Next iterations (not done)
1. Add missing sleeves to the model (short-duration/floating-rate,
muni, preferreds, EM debt, merger-arb proxy) to split true alpha
from missing-factor exposure; re-screen (0.3s/fund, ~12 min).
2. N-PORT holdings cross-check on the top ~15 candidates (the v1
16-fund pipeline: edgar NPORT fetch + category buckets) to confirm
what the alpha funds actually hold.
3. CEF universe (485/N-2 filers) - separate pass; CEFs have
premium/discount dynamics the NAV screen can't see.
Infra lesson: /tmp gets cleaned mid-run - keep logs + caches in the
project (fundlab/overnight.log, fundlab/universe_cache/), and use
@ -151,3 +184,114 @@ project (fundlab/overnight.log, fundlab/universe_cache/), and use
- 2026-08-26 22:08 === stage download ===
- 2026-08-26 22:08 download: 1823 missing symbols
- 2026-08-26 22:09:01 watchdog: relaunch confirmed alive
- 2026-08-26 22:14:01 watchdog: overnight alive, still_missing=2384
- 2026-08-26 22:19:01 watchdog: overnight alive, still_missing=2384
- 2026-08-26 22:24:01 watchdog: overnight alive, still_missing=2384
- 2026-08-26 22:29:01 watchdog: overnight alive, still_missing=2384
- 2026-08-26 22:34:01 watchdog: overnight alive, still_missing=2384
- 2026-08-26 22:39:01 watchdog: overnight alive, still_missing=2384
- 2026-08-26 22:41 download: batch 1 -> 200/200
- 2026-08-26 22:44:02 watchdog: overnight alive, still_missing=2384
- 2026-08-26 22:49:02 watchdog: overnight alive, still_missing=2384
- 2026-08-26 22:54:02 watchdog: overnight alive, still_missing=2384
- 2026-08-26 22:59:02 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:04:02 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:09:02 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:14:02 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:14 download: batch 2 -> 200/200
- 2026-08-26 23:19:02 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:24:02 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:29:02 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:34:02 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:39:03 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:44:03 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:47 download: batch 3 -> 200/200
- 2026-08-26 23:49:03 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:54:03 watchdog: overnight alive, still_missing=2384
- 2026-08-26 23:59:03 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:04:03 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:09:03 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:14:03 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:19:03 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:20 download: batch 4 -> 200/200
- 2026-08-27 00:24:03 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:29:03 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:34:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:39:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:44:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:49:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:54 download: batch 5 -> 200/200
- 2026-08-27 00:54:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 00:59:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:04:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:09:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:14:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:19:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:24:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:27 download: batch 6 -> 200/200
- 2026-08-27 01:29:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:34:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:39:04 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:44:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:49:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:54:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 01:59:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:00 download: batch 7 -> 200/200
- 2026-08-27 02:04:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:09:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:14:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:19:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:24:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:29:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:33 download: batch 8 -> 200/200
- 2026-08-27 02:34:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:39:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:44:05 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:49:06 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:54:06 watchdog: overnight alive, still_missing=2384
- 2026-08-27 02:59:06 watchdog: overnight alive, still_missing=2384
- 2026-08-27 03:04:06 watchdog: overnight alive, still_missing=2384
- 2026-08-27 03:06 download: batch 9 -> 200/200
- 2026-08-27 03:09:06 watchdog: overnight alive, still_missing=2384
- 2026-08-27 03:10 download: batch 10 -> 23/23
- 2026-08-27 03:10 download done: 0 still missing (no Yahoo data?)
- 2026-08-27 03:10 === stage screen ===
- 2026-08-27 03:10 screen: 2384 funds, 2384 to do
- 2026-08-27 03:11 screen: 100/2384
- 2026-08-27 03:11 screen: 200/2384
- 2026-08-27 03:12 screen: 300/2384
- 2026-08-27 03:12 screen: 400/2384
- 2026-08-27 03:13 screen: 500/2384
- 2026-08-27 03:13 screen: 600/2384
- 2026-08-27 03:14:06 watchdog: overnight alive, still_missing=1784
- 2026-08-27 03:14 screen: 700/2384
- 2026-08-27 03:14 screen: 800/2384
- 2026-08-27 03:15 screen: 900/2384
- 2026-08-27 03:15 screen: 1000/2384
- 2026-08-27 03:16 screen: 1100/2384
- 2026-08-27 03:16 screen: 1200/2384
- 2026-08-27 03:17 screen: 1300/2384
- 2026-08-27 03:17 screen: 1400/2384
- 2026-08-27 03:18 screen: 1500/2384
- 2026-08-27 03:18 screen: 1600/2384
- 2026-08-27 03:19:06 watchdog: overnight alive, still_missing=784
- 2026-08-27 03:19 screen: 1700/2384
- 2026-08-27 03:19 screen: 1800/2384
- 2026-08-27 03:20 screen: 1900/2384
- 2026-08-27 03:20 screen: 2000/2384
- 2026-08-27 03:21 screen: 2100/2384
- 2026-08-27 03:22 screen: 2200/2384
- 2026-08-27 03:22 screen: 2300/2384
- 2026-08-27 03:23 screen done: 2384 funds
- 2026-08-27 03:23 === stage finalize ===
- 2026-08-27 03:23 finalize: 2384 funds screened
- 2026-08-27 03:23 1336 sleeve mix
- 2026-08-27 03:23 707 weak/unstable alpha
- 2026-08-27 03:23 250 CANDIDATE
- 2026-08-27 03:23 42 alpha, but correlated with current portfolio
- 2026-08-27 03:23 32 alpha in 5y window, but not persistent
- 2026-08-27 03:23 17 no 5y window
- 2026-08-27 03:23 candidates v1 name-filter would have missed: ['abhyx', 'acfix', 'acitx', 'acthx', 'aflix', 'aftex', 'agovx', 'aguax', 'aidax', 'alcax', 'algrx', 'alnyx', 'althx', 'amaax', 'amhix', 'annpx', 'asdvx', 'atfax', 'avaax', 'bchyx', 'bcitx', 'bils', 'bmbix', 'bsnix', 'btmix', 'cfmox', 'cfnlx', 'cfrax', 'coiax', 'coltx', 'cpxax', 'csdax', 'cshix', 'cxhyx', 'deffx', 'delix', 'dflex', 'ditex', 'dmusx', 'dnmzx', 'dpiax', 'drcax', 'drnjx', 'dsibx', 'dultx', 'dvmhx', 'dvtax', 'eablx', 'eacax', 'eanax', 'eascx', 'ebsax', 'eniax', 'etazx', 'etgax', 'ethyx', 'etmdx', 'etmnx', 'etmox', 'etncx', 'etnjx', 'etorx', 'etpax', 'etsix', 'etvax', 'evfax', 'exmax', 'exnax', 'fafrx', 'faztx', 'fcamx', 'fcfix', 'fcotx', 'fcstx', 'fcvsx', 'fdmmx', 'femdx', 'ffrsx', 'fhaix', 'fhcox', 'fhmix', 'ficnx', 'fiscx', 'fkcix', 'fklax', 'fknix', 'fkstx', 'fktfx', 'fktix', 'fkutx', 'fkytx', 'flrn', 'fltdx', 'fltmx', 'fltr', 'fmdtx', 'fmoax', 'fmotx', 'fnmtx', 'fnytx', 'fpntx', 'fralx', 'frcox', 'frmox', 'frnjx', 'frorx', 'frpax', 'frstx', 'fsazx', 'ftazx', 'ftfmx', 'ftgax', 'ftlax', 'ftnyx', 'ftorx', 'fwiax', 'fxncx', 'gbonx', 'giyix', 'gtfbx', 'hicox', 'hmezx', 'hubax', 'icifx', 'ihiax', 'intax', 'kctax', 'kmdnx', 'kntax', 'lansx', 'lmsfx', 'lpxax', 'lsbdx', 'lsyux', 'ltebx', 'ltnyx', 'lubax', 'masax', 'mcoax', 'mdxbx', 'mervx', 'mfalx', 'mfarx', 'mfiax', 'mfpax', 'mfscx', 'mfsmx', 'mfssx', 'mfwvx', 'mgfox', 'missx', 'mmgax', 'mmhyx', 'mmufx', 'msncx', 'msnyx', 'msvax', 'mtbax', 'mtlfx', 'nefzx', 'nhmax', 'nmbax', 'nmdax', 'nmuix', 'nnjax', 'nnyax', 'nsmmx', 'nthex', 'olcax', 'omifx', 'onjcx', 'opcax', 'opnyx', 'orncx', 'pabax', 'pamfx', 'pbaix', 'pbcax', 'pgsix', 'phizx', 'phstx', 'ppnax', 'prfhx', 'prfrx', 'prfsx', 'prinx', 'prmdx', 'prnyx', 'prsmx', 'prtax', 'pruax', 'prvax', 'prvbx', 'prxcx', 'psnyx', 'ptebx', 'puls', 'pysix', 'qcmmrx', 'rctix', 'rlvsx', 'rmuyx', 'rpidx', 'rpifx', 'safex', 'scfzx', 'sdsax', 'sefix', 'seimx', 'shtix', 'sitex', 'smlax', 'sngvx', 'szmax', 'taftx', 'tisix', 'trbux', 'trhyx', 'tsdjx', 'twtix', 'ulst', 'usiax', 'usmsx', 'vcaix', 'vcitx', 'vctfx', 'vidax', 'vklmx', 'vkmmx', 'vmatx', 'vmltx', 'vnjtx', 'vnytx', 'vohix', 'vpaix', 'vtipx', 'vubfx', 'vusb', 'vwahx', 'vweax', 'vwitx', 'vwltx', 'wisex']
- 2026-08-27 03:23 === overnight run finished in 5.2h ===
- 2026-08-27 03:24:06 watchdog: process gone but screen COMPLETE (0 missing) - watchdog exiting
- 2026-08-27 03:24:06 watchdog: watchdog exit

View File

@ -2,3 +2,50 @@
21:31:57 download: 1960 missing symbols
22:08:01 === stage download ===
22:08:01 download: 1823 missing symbols
22:41:13 download: batch 1 -> 200/200
23:14:25 download: batch 2 -> 200/200
23:47:37 download: batch 3 -> 200/200
00:20:50 download: batch 4 -> 200/200
00:54:02 download: batch 5 -> 200/200
01:27:14 download: batch 6 -> 200/200
02:00:26 download: batch 7 -> 200/200
02:33:38 download: batch 8 -> 200/200
03:06:50 download: batch 9 -> 200/200
03:10:30 download: batch 10 -> 23/23
03:10:30 download done: 0 still missing (no Yahoo data?)
03:10:30 === stage screen ===
03:10:30 screen: 2384 funds, 2384 to do
03:11:02 screen: 100/2384
03:11:33 screen: 200/2384
03:12:05 screen: 300/2384
03:12:36 screen: 400/2384
03:13:07 screen: 500/2384
03:13:37 screen: 600/2384
03:14:09 screen: 700/2384
03:14:41 screen: 800/2384
03:15:13 screen: 900/2384
03:15:45 screen: 1000/2384
03:16:16 screen: 1100/2384
03:16:47 screen: 1200/2384
03:17:18 screen: 1300/2384
03:17:49 screen: 1400/2384
03:18:21 screen: 1500/2384
03:18:52 screen: 1600/2384
03:19:24 screen: 1700/2384
03:19:55 screen: 1800/2384
03:20:27 screen: 1900/2384
03:20:59 screen: 2000/2384
03:21:30 screen: 2100/2384
03:22:02 screen: 2200/2384
03:22:34 screen: 2300/2384
03:23:00 screen done: 2384 funds
03:23:00 === stage finalize ===
03:23:00 finalize: 2384 funds screened
03:23:00 1336 sleeve mix
03:23:00 707 weak/unstable alpha
03:23:00 250 CANDIDATE
03:23:00 42 alpha, but correlated with current portfolio
03:23:00 32 alpha in 5y window, but not persistent
03:23:00 17 no 5y window
03:23:00 candidates v1 name-filter would have missed: ['abhyx', 'acfix', 'acitx', 'acthx', 'aflix', 'aftex', 'agovx', 'aguax', 'aidax', 'alcax', 'algrx', 'alnyx', 'althx', 'amaax', 'amhix', 'annpx', 'asdvx', 'atfax', 'avaax', 'bchyx', 'bcitx', 'bils', 'bmbix', 'bsnix', 'btmix', 'cfmox', 'cfnlx', 'cfrax', 'coiax', 'coltx', 'cpxax', 'csdax', 'cshix', 'cxhyx', 'deffx', 'delix', 'dflex', 'ditex', 'dmusx', 'dnmzx', 'dpiax', 'drcax', 'drnjx', 'dsibx', 'dultx', 'dvmhx', 'dvtax', 'eablx', 'eacax', 'eanax', 'eascx', 'ebsax', 'eniax', 'etazx', 'etgax', 'ethyx', 'etmdx', 'etmnx', 'etmox', 'etncx', 'etnjx', 'etorx', 'etpax', 'etsix', 'etvax', 'evfax', 'exmax', 'exnax', 'fafrx', 'faztx', 'fcamx', 'fcfix', 'fcotx', 'fcstx', 'fcvsx', 'fdmmx', 'femdx', 'ffrsx', 'fhaix', 'fhcox', 'fhmix', 'ficnx', 'fiscx', 'fkcix', 'fklax', 'fknix', 'fkstx', 'fktfx', 'fktix', 'fkutx', 'fkytx', 'flrn', 'fltdx', 'fltmx', 'fltr', 'fmdtx', 'fmoax', 'fmotx', 'fnmtx', 'fnytx', 'fpntx', 'fralx', 'frcox', 'frmox', 'frnjx', 'frorx', 'frpax', 'frstx', 'fsazx', 'ftazx', 'ftfmx', 'ftgax', 'ftlax', 'ftnyx', 'ftorx', 'fwiax', 'fxncx', 'gbonx', 'giyix', 'gtfbx', 'hicox', 'hmezx', 'hubax', 'icifx', 'ihiax', 'intax', 'kctax', 'kmdnx', 'kntax', 'lansx', 'lmsfx', 'lpxax', 'lsbdx', 'lsyux', 'ltebx', 'ltnyx', 'lubax', 'masax', 'mcoax', 'mdxbx', 'mervx', 'mfalx', 'mfarx', 'mfiax', 'mfpax', 'mfscx', 'mfsmx', 'mfssx', 'mfwvx', 'mgfox', 'missx', 'mmgax', 'mmhyx', 'mmufx', 'msncx', 'msnyx', 'msvax', 'mtbax', 'mtlfx', 'nefzx', 'nhmax', 'nmbax', 'nmdax', 'nmuix', 'nnjax', 'nnyax', 'nsmmx', 'nthex', 'olcax', 'omifx', 'onjcx', 'opcax', 'opnyx', 'orncx', 'pabax', 'pamfx', 'pbaix', 'pbcax', 'pgsix', 'phizx', 'phstx', 'ppnax', 'prfhx', 'prfrx', 'prfsx', 'prinx', 'prmdx', 'prnyx', 'prsmx', 'prtax', 'pruax', 'prvax', 'prvbx', 'prxcx', 'psnyx', 'ptebx', 'puls', 'pysix', 'qcmmrx', 'rctix', 'rlvsx', 'rmuyx', 'rpidx', 'rpifx', 'safex', 'scfzx', 'sdsax', 'sefix', 'seimx', 'shtix', 'sitex', 'smlax', 'sngvx', 'szmax', 'taftx', 'tisix', 'trbux', 'trhyx', 'tsdjx', 'twtix', 'ulst', 'usiax', 'usmsx', 'vcaix', 'vcitx', 'vctfx', 'vidax', 'vklmx', 'vkmmx', 'vmatx', 'vmltx', 'vnjtx', 'vnytx', 'vohix', 'vpaix', 'vtipx', 'vubfx', 'vusb', 'vwahx', 'vweax', 'vwitx', 'vwltx', 'wisex']
03:23:00 === overnight run finished in 5.2h ===

View File

@ -1 +0,0 @@
11169

1
fundlab/search_all.json Normal file

File diff suppressed because one or more lines are too long

View File

@ -5,3 +5,67 @@
[2026-08-26 22:08:01] watchdog started (interval 300s)
[2026-08-26 22:08:01] process DEAD with 2384 funds unscreened - relaunching
[2026-08-26 22:09:01] relaunch confirmed alive
[2026-08-26 22:14:01] overnight alive, still_missing=2384
[2026-08-26 22:19:01] overnight alive, still_missing=2384
[2026-08-26 22:24:01] overnight alive, still_missing=2384
[2026-08-26 22:29:01] overnight alive, still_missing=2384
[2026-08-26 22:34:01] overnight alive, still_missing=2384
[2026-08-26 22:39:01] overnight alive, still_missing=2384
[2026-08-26 22:44:01] overnight alive, still_missing=2384
[2026-08-26 22:49:02] overnight alive, still_missing=2384
[2026-08-26 22:54:02] overnight alive, still_missing=2384
[2026-08-26 22:59:02] overnight alive, still_missing=2384
[2026-08-26 23:04:02] overnight alive, still_missing=2384
[2026-08-26 23:09:02] overnight alive, still_missing=2384
[2026-08-26 23:14:02] overnight alive, still_missing=2384
[2026-08-26 23:19:02] overnight alive, still_missing=2384
[2026-08-26 23:24:02] overnight alive, still_missing=2384
[2026-08-26 23:29:02] overnight alive, still_missing=2384
[2026-08-26 23:34:02] overnight alive, still_missing=2384
[2026-08-26 23:39:03] overnight alive, still_missing=2384
[2026-08-26 23:44:03] overnight alive, still_missing=2384
[2026-08-26 23:49:03] overnight alive, still_missing=2384
[2026-08-26 23:54:03] overnight alive, still_missing=2384
[2026-08-26 23:59:03] overnight alive, still_missing=2384
[2026-08-27 00:04:03] overnight alive, still_missing=2384
[2026-08-27 00:09:03] overnight alive, still_missing=2384
[2026-08-27 00:14:03] overnight alive, still_missing=2384
[2026-08-27 00:19:03] overnight alive, still_missing=2384
[2026-08-27 00:24:03] overnight alive, still_missing=2384
[2026-08-27 00:29:03] overnight alive, still_missing=2384
[2026-08-27 00:34:04] overnight alive, still_missing=2384
[2026-08-27 00:39:04] overnight alive, still_missing=2384
[2026-08-27 00:44:04] overnight alive, still_missing=2384
[2026-08-27 00:49:04] overnight alive, still_missing=2384
[2026-08-27 00:54:04] overnight alive, still_missing=2384
[2026-08-27 00:59:04] overnight alive, still_missing=2384
[2026-08-27 01:04:04] overnight alive, still_missing=2384
[2026-08-27 01:09:04] overnight alive, still_missing=2384
[2026-08-27 01:14:04] overnight alive, still_missing=2384
[2026-08-27 01:19:04] overnight alive, still_missing=2384
[2026-08-27 01:24:04] overnight alive, still_missing=2384
[2026-08-27 01:29:04] overnight alive, still_missing=2384
[2026-08-27 01:34:04] overnight alive, still_missing=2384
[2026-08-27 01:39:04] overnight alive, still_missing=2384
[2026-08-27 01:44:05] overnight alive, still_missing=2384
[2026-08-27 01:49:05] overnight alive, still_missing=2384
[2026-08-27 01:54:05] overnight alive, still_missing=2384
[2026-08-27 01:59:05] overnight alive, still_missing=2384
[2026-08-27 02:04:05] overnight alive, still_missing=2384
[2026-08-27 02:09:05] overnight alive, still_missing=2384
[2026-08-27 02:14:05] overnight alive, still_missing=2384
[2026-08-27 02:19:05] overnight alive, still_missing=2384
[2026-08-27 02:24:05] overnight alive, still_missing=2384
[2026-08-27 02:29:05] overnight alive, still_missing=2384
[2026-08-27 02:34:05] overnight alive, still_missing=2384
[2026-08-27 02:39:05] overnight alive, still_missing=2384
[2026-08-27 02:44:05] overnight alive, still_missing=2384
[2026-08-27 02:49:06] overnight alive, still_missing=2384
[2026-08-27 02:54:06] overnight alive, still_missing=2384
[2026-08-27 02:59:06] overnight alive, still_missing=2384
[2026-08-27 03:04:06] overnight alive, still_missing=2384
[2026-08-27 03:09:06] overnight alive, still_missing=2384
[2026-08-27 03:14:06] overnight alive, still_missing=1784
[2026-08-27 03:19:06] overnight alive, still_missing=784
[2026-08-27 03:24:06] process gone but screen COMPLETE (0 missing) - watchdog exiting
[2026-08-27 03:24:06] watchdog exit