Files
Merlin's CatGitHubCopilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>MerlinHCopilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
9fa9ac25a4 feat: add workflow eval framework (#32)
* feat: add workflow eval framework

Add workflow evaluation scenarios, rubrics, schemas, and runner scripts for installed Truthmark workflows.

Move research notes under docs/research and migrate tests from Vitest to node:test.

* Potential fix for pull request finding 'CodeQL / Replacement of a substring with itself'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: MerlinH <merlinh221@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-06-30 20:57:55 +10:00

18 lines
581 B
TypeScript

import { describe, it } from "node:test";
import { expect } from "expect";
import { hashJsonLike, hashText } from "../../src/markdown/hash.js";
describe("hash helpers", () => {
it("produces stable text hashes", () => {
expect(hashText("Truthmark")).toBe(hashText("Truthmark"));
expect(hashText("Truthmark")).not.toBe(hashText("truthmark"));
});
it("produces stable JSON-like hashes regardless of key order", () => {
expect(hashJsonLike({ b: 2, a: 1, nested: { y: 2, x: 1 } })).toBe(
hashJsonLike({ nested: { x: 1, y: 2 }, a: 1, b: 2 }),
);
});
});