Optional ReadonlydialectValidate hook.on against this harness's hook-event catalog (a typo won't compile).
Optional ReadonlygateThe command the emitted block runs. The compiler adds || exit 2 (a hook
that can block) or || exit 0 (a reminder-only hook) at the end; one that is
already there is replaced.
Optional ReadonlyhookMatcher style (exact vs anchored regex). Defaults to Claude Code's "exact".
Optional ReadonlyregisteredNames of registered providers (.vigiles/providers/) a provider() ref may resolve to.
Optional ReadonlysettingsSettings ENCODING, from PluginLayout.settings. Absent ⇒ JSON, the
backwards-compatible default for a caller that injects no layout.
It used to be settingsFormat?: "json" | "toml" and renderSettingsBlock
branched on it for BOTH the encoding and the entry shape. The shape comes
from hookProtocol.registration now, so the two can no longer be chosen
independently of each other by accident.
Per-harness emit inputs (all optional, default to Claude Code) — the ports the CLI threads in from the resolved adapter. Keeps the core harness-agnostic: core depends only on these interfaces, never an adapter (core ⊄ adapter).