import test from "node:test"; import assert from "node:assert/strict"; import { existsSync } from "node:fs"; import { sha256, stableStringify, seal } from "../.agentos/runtime/core.mjs"; import { verifyPlasmaGate } from "../.agentos/runtime/plasmaVerify.mjs"; import { verifySkills } from "../.agentos/runtime/skillVerify.mjs"; import { verifyProblemSolution } from "../.agentos/runtime/pnpVerifier.mjs"; import { loadSkill } from "../.agentos/runtime/skillLoader.mjs"; import { compileContextClip } from "../.agentos/runtime/contextCompiler.mjs"; import { verifyContextClip } from "../.agentos/runtime/contextVerifier.mjs"; test("stableStringify is deterministic across key order", () => { assert.equal(stableStringify({ b: 2, a: 1 }), stableStringify({ a: 1, b: 2 })); }); test("sha256 produces 64 hex chars", () => { assert.match(sha256("snapkitty"), /^[0-9a-f]{64}$/); }); test("seal chains payload hash into immutable entry", () => { const entry = seal("TEST", { hello: "world" }); assert.equal(entry.kind, "TEST"); assert.match(entry.payloadHash, /^[0-9a-f]{64}$/); assert.match(entry.seal, /^[0-9a-f]{64}$/); }); test("plasma gate verifies bootstrap mode", () => { const result = verifyPlasmaGate(); assert.equal(result.ok, true); }); test("ledger skill executes and verifies balanced entry", async () => { const skill = await loadSkill("ledger_validation_v3"); const input = { entry: { debit: 25, credit: 25 } }; const output = skill.execute(input); assert.equal(output.valid, true); assert.equal(skill.verify(input, output), true); }); test("borrow scheduler returns topological order", async () => { const skill = await loadSkill("borrow_chain_scheduler_v1"); const input = { borrowGraph: { nodes: ["A", "B", "C"], edges: [["A", "B"], ["B", "C"]] } }; const output = skill.execute(input); assert.deepEqual(output.schedule, ["A", "B", "C"]); assert.equal(skill.verify(input, output), true); }); test("all skills verify from proof examples", async () => { const results = await verifySkills(); assert.equal(results.every((result) => result.ok), true); }); test("P/NP verifier accepts a valid borrow witness", async () => { const problem = { id: "optimal_borrow_schedule_2026_Q3", verifyFn: ".agentos/pnp/verifiers/optimal_borrow_schedule.mjs", borrowGraph: { nodes: ["A", "B", "C"], edges: [["A", "B"], ["B", "C"]] } }; const result = await verifyProblemSolution(problem, { witness: { schedule: ["A", "B", "C"] } }); assert.equal(result.ok, true); }); test("ContextClip compiles with runtime directives and verifies seal", () => { const clip = compileContextClip({ agentId: "agent_test", problemId: "optimal_borrow_schedule_2026_Q3", claimNonce: "nonce_test", clipId: "clip_test" }); assert.equal(clip.clip_id, "clip_test"); assert.equal(clip.$schema, "https://snapkitty.os/schema/context-clip-v1.json"); assert.equal(clip.sections.some((section) => section.name === "runtime_directives"), true); assert.equal(clip.sections.every((section) => section.verified), true); assert.equal(verifyContextClip(clip).ok, true); }); test("Nix Sovereign layout presence and Prolog BOM verification", () => { assert.equal(existsSync("flake.nix"), true); assert.equal(existsSync("policies/snapkitty_bom.pl"), true); });