X_SCRAPE_YIELD_HISTORY_MISSING
Means
a maxDrop is declared and no history store can supply its baseline
Typical cause
terminal, raised at declaration time. expect.maxDrop measures a fall against a trailing baseline, and with no history: store expect.ts reads [] forever — so X_SCRAPE_YIELD_COLLAPSED can never fire and the alarm is silently inert. expect.minRows is an absolute floor checked before the history gate and stays legal on its own
Fix
add history: memoryYieldHistory() for a test, or your own YieldHistory in production — or drop expect.maxDrop and keep expect.minRows