/*
fleet.probe.validate — offline lint for the fleet probe target list and runner boundaries (RFC-0341).
- Do not introduce app-specific runtime composition or deployment behavior into this reusable package source file.
- RFC-0341: initial implementation.
*/
import { join } from "node:path";
import type {
CheckResult,
Diagnostic,
KernelCommandInput,
KernelCommandResult,
KernelRuntimeContext,
} from "@warpgogol/werkstatt-engine/kernel";
import { diagnosticsResult } from "@warpgogol/werkstatt-shared/checks";
import { parse as yamlParse } from "yaml";
import { readAstroSiteUrl } from "@warpgogol/werkstatt-shared/checks/lib/astro-site-url";
interface ProbeTarget {
siteId: string;
origin: string;
routes: string[];
sentinels: string[];
}
interface TargetsFile {
schemaVersion: number;
targets: ProbeTarget[];
}
async function resolveExpectedTargets(
root: string,
context: KernelRuntimeContext,
): Promise