vigiles API reference
    Preparing search index...

    Interface CompiledHookProgram

    A compiled hook program: the harness block + a tamper-evident stamp.

    interface CompiledHookProgram {
        hooks: Record<
            string,
            readonly {
                hooks: readonly { command: string; type: "command" }[];
                matcher?: string;
            }[],
        >;
        settingsBlock: string;
        stamp: SHA256Hash;
        warnings?: readonly string[];
    }
    Index

    Properties

    hooks: Record<
        string,
        readonly {
            hooks: readonly { command: string; type: "command" }[];
            matcher?: string;
        }[],
    >
    settingsBlock: string

    The rendered settings block to add to the harness's hooks config — JSON for Claude Code (.claude/settings.json), TOML [[hooks.<event>]] for Codex (config.toml). The CLI prints this; the structured hooks above is the Claude-Code-shaped intermediate.

    stamp: SHA256Hash

    SHA-256 of the sanctioned source — the runtime refuses an artifact whose stamp differs.

    warnings?: readonly string[]

    Non-fatal findings about the compiled hook — today, a role that FIRES on its event but cannot do what the role promises (a gate on PostToolUse, whose deny feeds the model rather than vetoing). Absent when there is nothing to say; a FATAL mismatch throws instead, so this never carries a dead hook.