/* Unit tests for evidence selection covering EVIDENCE_SELECTION_LIMITS; buildEvidenceIndex. It also guards the documented public contract and regression-sensitive edge cases. Not a contract source of truth — the module under test owns the authoritative behavior; fixtures are minimal scaffolding only. RFC-1311: Compass header sweep — declares the evidence suite's contract for test-file scaffold coverage. */ import { test, expect, describe } from "vitest"; import { buildEvidenceIndex, EVIDENCE_SELECTION_LIMITS } from "../evidence-selection.ts"; describe("EVIDENCE_SELECTION_LIMITS", () => { test("has MAX_REQUIREMENTS", () => { expect(EVIDENCE_SELECTION_LIMITS.MAX_REQUIREMENTS).toBeGreaterThan(0); }); test("has MAX_EVIDENCE", () => { expect(EVIDENCE_SELECTION_LIMITS.MAX_EVIDENCE).toBeGreaterThan(0); }); }); describe("buildEvidenceIndex", () => { test("returns empty index for no evidence", () => { const result = buildEvidenceIndex({ candidateId: "cand-001", evidence: [], evaluationCutSequence: 1, }); expect("ok" in result && result.ok === false).toBe(false); if ("ok" in result) return; expect(result.totalCount).toBe(0); expect(result.candidateId).toBe("cand-001"); }); });