Files
playbook/antigravity-awesome-skills/verification/aas-v1/verifier/bin/self-test-platform.mjs
T
2026-07-18 00:02:59 +00:00

26 lines
1.3 KiB
JavaScript

#!/usr/bin/env node
import fs from "node:fs";
import os from "node:os";
import path from "node:path";
import { selfTestObserver } from "../lib/observer.mjs";
import { isolatedZones } from "../lib/runtime.mjs";
const jobIndex = process.argv.indexOf("--job-id");
const jobId = jobIndex >= 0 ? process.argv[jobIndex + 1] : "";
const expected = jobId.startsWith("linux-") ? "linux-strace-process-tree"
: jobId.startsWith("macos-") ? "macos-fs_usage-process"
: jobId.startsWith("windows-") ? "windows-etw-kernel-process-tree" : null;
if (!expected) throw new Error("--job-id must be a frozen runtime-matrix job");
const root = fs.mkdtempSync(path.join(os.tmpdir(), "aas-observer-self-test-"));
try {
const zones = isolatedZones(path.join(root, "zones"));
const evidenceDir = path.join(root, "evidence");
const result = await selfTestObserver({ cwd: zones.tmp, env: process.env, zones, evidenceDir });
if (result.backend !== expected) throw new Error(`observer backend mismatch: ${result.backend}/${expected}`);
if (result.observedNetworkSentinels < 1 || result.observedWriteSentinels < 1) throw new Error("observer sentinel was not detected");
process.stdout.write(`${JSON.stringify({ ok: true, jobId, ...result })}\n`);
} finally {
fs.rmSync(root, { recursive: true, force: true });
}