vigiles API reference
    Preparing search index...

    Interface AdapterCapabilities

    Which vigiles pillars/tiers a harness can drive — the capability matrix made executable (see docs/harnesses.md). Not every harness reaches every tier: a closed, un-mockable one (Cursor, Devin, Amp, Amazon Q) can only ever do pillar 1, and a harness whose hooks are in-process code modules (OpenCode) has no shell-hook tier. Declaring this lets the conformance kit relax the port requirements for what an adapter says it can't do (instead of forcing a fake runtime/modelMock/hookProtocol), and lets the pillar-2 runners refuse — rather than mysteriously hang on — an adapter that can't be mocked.

    interface AdapterCapabilities {
        harnessTesting: boolean;
        referenceVerification: true;
        shellHooks: boolean;
        subagents: boolean;
    }
    Index

    Properties

    harnessTesting: boolean

    Pillar 2 — deterministic harness tests + evals: the binary can be spawned and pointed at a mock model. Requires runtime + modelMock. false for closed harnesses that route through a fixed backend (no BYOM): Cursor, Devin, Amp, Amazon Q — they are pillar-1-only adapters.

    referenceVerification: true

    Pillar 1 — reference verification (dialect + layout). Always true: every harness with an instruction-file format can have its references verified.

    shellHooks: boolean

    Hooks are shell processes speaking the exit-code/env block protocol — Claude Code, Codex, Crush. Requires hookProtocol. false when hooks are in-process code modules (OpenCode's TS plugins), so the run-hook unit tier and the HookProtocol port do not apply.

    subagents: boolean

    The harness has subagents — a named, model-dispatched delegate with its own tool contract and frontmatter (Claude Code's agents/*.md, OpenCode's agent surface). Gates the subagent-surface lint rules (subagent-tool-contract, subagent-frontmatter, untested-subagent, mcp-tool-resolves): where this is false those rules report n/a rather than running. false for Codex, whose [agents] TOML is a concurrency table, not a tool-contract file — a wholly different concept that deliberately shares the word.