import test from 'node:test'; import assert from 'node:assert/strict'; import { shouldContainExecutorForAlerts, shouldRaiseIngestPublishStale, } from '../src/core/runtime-health.mjs'; test('publish stale does not raise before any matching quote exists', () => { assert.equal(shouldRaiseIngestPublishStale({ lastMatchingQuoteAt: null, lastPublishedAt: null, matchingQuoteAgeMs: null, publishedAgeMs: null, publishStaleMs: 30_000, }), false); }); test('publish stale raises after a matching quote exists but no publish follows', () => { assert.equal(shouldRaiseIngestPublishStale({ lastMatchingQuoteAt: '2026-04-08T20:45:00.000Z', lastPublishedAt: null, matchingQuoteAgeMs: 10_000, publishedAgeMs: null, publishStaleMs: 30_000, }), true); }); test('executor containment stays disabled for quote-stale-only conditions', () => { assert.equal(shouldContainExecutorForAlerts([{ alert_code: 'near_intents_quotes_stale', severity: 'critical', }]), false); }); test('executor containment stays disabled even for broken truth path alerts', () => { assert.equal(shouldContainExecutorForAlerts([{ alert_code: 'near_intents_ingest_disconnected', severity: 'critical', }]), false); assert.equal(shouldContainExecutorForAlerts([{ alert_code: 'near_intents_publish_stale', severity: 'critical', }]), false); assert.equal(shouldContainExecutorForAlerts([{ alert_code: 'history_writer_stalled', severity: 'critical', }]), false); });