Files
workinf_Blender_Wasm/tools/web/check-v1-acceptance-release-binding.mjs
2026-08-15 01:01:23 -04:00

22 lines
1.0 KiB
JavaScript

import assert from "node:assert/strict";
import fs from "node:fs";
import path from "node:path";
import { evidencePath, root, sha256 } from "./v1-acceptance-lib.mjs";
assert.ok(fs.existsSync(evidencePath), "V1 acceptance evidence is missing");
const acceptanceSha256 = sha256(fs.readFileSync(evidencePath));
const releaseEvidence = JSON.parse(fs.readFileSync(path.join(root, "docs/status/release-evidence.json"), "utf8"));
const userLoopRecord = releaseEvidence.evidence?.records?.find((record) => record.id === "v1-user-loop");
assert.ok(userLoopRecord, "release evidence has no v1-user-loop record");
assert.equal(userLoopRecord.exitCode, 0, "release v1-user-loop record failed");
assert.ok(userLoopRecord.output?.trim().length > 0, "release v1-user-loop output is empty");
assert.ok(
userLoopRecord.artifactSha256?.includes(acceptanceSha256),
"current V1 acceptance evidence is not bound to release evidence",
);
process.stdout.write(
`v1-acceptance-release-binding-ok acceptanceSha256=${acceptanceSha256} releaseGeneratedAt=${releaseEvidence.generatedAt}\n`,
);