Five pages. The probe notes behind every target definition live in the repo's docs directory.
Install both binaries, scaffold a bundle, write a handler, build it, and read the preflight report before you install onto a harness.
ConceptsFive requirement kinds, twelve events, four tiers, four verdicts, and why file-read means one thing on Claude Code and something coarser on Codex.
HarnessesClaude Code, Codex, Copilot and opencode do not carry the same events. Which events each has a native hook for, and where a hard gate refuses rather than degrades. Windows gets its own section.
Authoring a bundleJSON on stdin, six environment variables alongside it, an exit code back. Plus every field the contract accepts, and what each target does differently.
ContributingSign off your commits, and run gofmt, vet and the tests before you open a pull request. A new target definition has to come from probing the real harness; the harness's documentation does not count.