All checks were successful
deploy / deploy (push) Successful in 57s
Proof: DB-backed quote lifecycle retention policy, rollup-before-prune maintenance, dashboard storage visibility, and regression tests for preservation and fail-closed behavior. Assumptions: Completed quote outcome attribution remains the current durable successful-trade evidence; venue-native terminal fill ids and fee-complete PnL remain unavailable. Still fake: Historical non-success detail already pruned cannot be recovered; rollups are aggregate analytics, not per-quote settled trade proof.
44 lines
2.1 KiB
JavaScript
44 lines
2.1 KiB
JavaScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import { readFileSync } from 'node:fs';
|
|
|
|
const source = readFileSync(new URL('../src/apps/ops-sentinel.mjs', import.meta.url), 'utf8');
|
|
|
|
test('ops sentinel imports executor containment guard used by runtime evaluation', () => {
|
|
assert.match(source, /shouldContainExecutorForAlerts\(alerts\)/);
|
|
assert.match(
|
|
source,
|
|
/import\s*\{[\s\S]*shouldContainExecutorForAlerts[\s\S]*\}\s*from\s*'\.\.\/core\/runtime-health\.mjs';/,
|
|
);
|
|
});
|
|
|
|
|
|
test('ops sentinel polls official NEAR status and publishes environment status without alerting', () => {
|
|
assert.match(source, /pollNearIntentsEnvironmentStatus/);
|
|
assert.match(source, /kafkaTopicOpsEnvironmentStatus/);
|
|
assert.match(source, /buildNearIntentsStatusEventPayload/);
|
|
assert.match(source, /normalized\.status_fingerprint === state\.last_environment_status_fingerprint/);
|
|
assert.match(source, /assertEnvironmentStatusEvent/);
|
|
});
|
|
|
|
test('ops sentinel exposes trimmed service snapshots and computed runtime alerts', () => {
|
|
assert.match(source, /summarizeServiceSnapshotForSentinel/);
|
|
assert.match(source, /serviceSnapshots\.map\(summarizeServiceSnapshotForSentinel\)/);
|
|
assert.match(source, /latest_runtime_alerts: state\.latest_runtime_alerts/);
|
|
assert.match(source, /active_alerts: state\.latest_runtime_alerts/);
|
|
assert.match(source, /activeAlerts: desiredRuntimeAlerts/);
|
|
assert.match(source, /state\.latest_runtime_alerts = desiredRuntimeAlerts/);
|
|
});
|
|
|
|
test('ops sentinel turns dashboard maker competitiveness truth into runtime alerts', () => {
|
|
assert.match(source, /buildMakerCompetitivenessRuntimeAlerts/);
|
|
assert.match(source, /latest_maker_competitiveness/);
|
|
});
|
|
|
|
test('ops sentinel turns quote lifecycle retention health into storage alerts', () => {
|
|
assert.match(source, /quote_lifecycle_retention_policy_invalid/);
|
|
assert.match(source, /quote_lifecycle_rollup_stale/);
|
|
assert.match(source, /quote_lifecycle_storage_pressure/);
|
|
assert.match(source, /writerState\.retention_mode/);
|
|
assert.match(source, /writerState\.retention_summary/);
|
|
});
|