fix: use scenario run budget for sentinel scheduler

This commit is contained in:
Codex
2026-06-27 08:48:49 +00:00
parent 02acd00dd7
commit 06a9ed702f
+5 -1
View File
@@ -156,14 +156,18 @@ function sentinelSchedules(spec: ReturnType<typeof hwlabRuntimeLaneSpecForNode>,
const scenarioCadences = enabledScenarios
.map((scenario) => typeof scenario.cadence === "string" ? parseDurationSeconds(scenario.cadence) : null)
.filter((value): value is number => value !== null && value > 0);
const scenarioTimeouts = enabledScenarios
.map((scenario) => numberAtNullable(scenario, "maxRunSeconds"))
.filter((value): value is number => value !== null && value > 0);
const runtimeInterval = numberAt(runtime, "scheduler.intervalMs");
const yamlTimeout = numberAtNullable(cicd, "targetValidation.maxSeconds");
const schedulerTimeout = scenarioTimeouts.length > 0 ? Math.max(...scenarioTimeouts) : null;
return {
sentinelId: sentinel.id,
enabled: row.enabled && sentinel.enabled && enabledScenarios.length > 0,
publicBaseUrl: stringAt(publicExposure, "publicBaseUrl").replace(/\/+$/u, ""),
cadenceSeconds: Math.min(...(scenarioCadences.length > 0 ? scenarioCadences : [Math.max(1, Math.round(runtimeInterval / 1000))])),
timeoutSeconds: options.timeoutSeconds ?? yamlTimeout ?? 300,
timeoutSeconds: options.timeoutSeconds ?? schedulerTimeout ?? yamlTimeout ?? 300,
scenarioIds: enabledScenarios.map((scenario) => String(scenario.id || sentinel.id)),
};
});