import { test } from "node:test"; import assert from "node:assert/strict"; import { readdirSync, readFileSync, statSync } from "node:fs"; import { join } from "node:path"; // **No ready mark is left in the forge module** (novox/hq ADR 0421 §4, issue 1022; how it is checked): no label, comment // reading, trusted setting, file or merge rule of the mark stands in any of its sources, its manifest or its files. Tests // are left out: they name the words to prove them gone. const root = new URL("..", import.meta.url).pathname; const FORBIDDEN = ["mesh/ready", "ready at", "ready-authors", "READY_AUTHORS", "readyAuthors", "readyMarkOf", "READY_LABEL", "approvedAt("]; function sources(dir: string): string[] { const out: string[] = []; for (const name of readdirSync(dir)) { if (name === "node_modules" || name === "dist" || name === "test") continue; const path = join(dir, name); if (statSync(path).isDirectory()) out.push(...sources(path)); else if (/\.(ts|json|go)$/.test(name) || !name.includes(".")) out.push(path); } return out; } test("no ready mark, trusted ready-authors setting or approval-by-mark rule is left in the module", () => { const found: string[] = []; for (const file of sources(root)) { if (/package-lock|go\.sum/.test(file)) continue; const text = readFileSync(file, "utf8"); for (const word of FORBIDDEN) if (text.includes(word)) found.push(`${file.slice(root.length)} holds "${word}"`); } assert.deepEqual(found, [], "the ready mark is gone (ADR 0421 §4)"); });