vigiles API reference
    Preparing search index...

    Interface PluginGuardReport

    The whole sweep.

    interface PluginGuardReport {
        dir: string;
        event: string;
        events: readonly DisasterEvent[];
        harness: string;
        hooks: readonly SweptHookOutcome[];
        notes: readonly string[];
        unmeasurable: readonly NonCommandHookAction[];
    }
    Index

    Properties

    dir: string

    The directory swept, resolved to an absolute path.

    event: string

    The event each disaster was delivered as (default "PreToolUse").

    events: readonly DisasterEvent[]

    The battery that was used, so a report says what it measured against.

    harness: string

    The adapter that read it, e.g. "claude-code".

    hooks: readonly SweptHookOutcome[]

    One outcome per declared COMMAND hook, in config order.

    notes: readonly string[]

    Why the sweep measured less than a reader might assume — no COMMAND hooks declared, a harness with no shell hooks, every hook on another event, or an action this tier cannot drive. Empty only when at least one hook was measured AND nothing was left undrivable: an undrivable action is a gap in COVERAGE, so it is said even when other hooks scored.

    🔴 THIS IS THE EMPTY CASE'S VOICE. hooks: [] on its own reads as a clean bill of health, which is the exact false confidence the battery exists to remove — so a sweep that measured nothing always says so in words.

    unmeasurable: readonly NonCommandHookAction[]

    Declared actions this tier cannot drive because they are not commands — prompt, http, mcp_tool, agent.

    🔴 THEY USED TO BE DROPPED, AND DROPPING THEM MANUFACTURED THE FALSE EMPTY notes exists to prevent. A repository whose hooks are all prompt actions has declared guards; it was reported as declaring none, in the words of the one sentence this report writes to be sure nobody reads an empty result as a clean bill of health. Not measured is a limit of the tier and says so; not declared is an accusation about the repository, and it was not true.

    They carry no score and never will here — a shell battery cannot drive a prompt — so they are a separate list rather than a fourth outcome status with an invented command.