test.coordination/core/inspectors/checklist.inspector.test.ts

test.coordination/core/inspectors/checklist.inspector.test.ts is a file in Codebase Testing. 64 lines of code and 0 definitions.

import { PHASE_MARKER, TASK_MARKER } from "coordination-surface/tools/core/constants/checklist.constants.ts";
import { describe, it } from "vitest";
import {
    inspectProtocol,
    putToWork,
    scaffoldLabels,
} from "coordination-surface/tools/core/inspectors/checklist.inspector.ts";
import { MANDATORY_GATES } from "coordination-surface/tools/core/constants/template.constants.ts";
import type { ProtocolFinding } from "coordination-surface/tools/core/types/checklist.types.ts";
import type { TemplateContract } from "coordination-surface/tools/core/types/template.types.ts";
import assert from "node:assert/strict";

const CONTRACT: TemplateContract = {
    confidenceThreshold: 0,
    dependencyAxes: ["axis_d", "axis_s"],
    genesisStages: ["seed", "grow"],
    rippleDimensions: ["cost", "risk"],
};

const kindsOf = function kindsOf(findings: readonly ProtocolFinding[]): string[] {
    return findings.map((finding) => finding.kind);
};

describe("scaffoldLabels and putToWork", () => {
    it("derives the scaffold labels from the contract and reads whether the artifact distributes work", () => {
        assert.deepEqual(scaffoldLabels(CONTRACT), ["D:", "S:", "COST", "RISK", "SEED", "GROW"]);
        assert.equal(putToWork(["DISTRIBUTES: two seats"]), true);
        assert.equal(putToWork(["DISTRIBUTES:", "prose"]), false);
    });
});

describe("inspectProtocol", () => {
    it("reports a file that declares no task and no phase, unless it is retired", () => {
        assert.deepEqual(kindsOf(inspectProtocol(["prose only"], CONTRACT)), ["notAChecklist"]);
        assert.deepEqual(inspectProtocol(["RETIRED: folded into another"], CONTRACT), []);
    });

    it("reports unnamed gates, an incomplete phase once work is distributed, and a pre-checked box", () => {
        const lines = [
            "DISTRIBUTES: two seats",
            `${PHASE_MARKER}build`,
            "D: none",
            "ripple: cost",
            TASK_MARKER,
            "- [x] shipped already",
        ];
        const findings = inspectProtocol(lines, CONTRACT);
        assert.deepEqual(kindsOf(findings), [
            "gateUnnamed",
            "axesMissing",
            "rippleMissing",
            "genesisMissing",
            "precheckedGate",
        ]);
        assert.equal(findings[0]?.locus, MANDATORY_GATES.join(", "));
    });

    it("reports nothing for a complete, distributed phase naming every gate", () => {
        const lines = [
            "DISTRIBUTES: two seats",
            `${PHASE_MARKER}build`,
            "D: none S: none",
            "ripple: cost, risk",
            "genesis: seed",
            TASK_MARKER,
            MANDATORY_GATES.join(" "),
        ];
        assert.deepEqual(inspectProtocol(lines, CONTRACT), []);
    });
});