Files

939 B

Policy contracts

The authoritative declarations are exported by pi-native-hooks/policy from src/policy.ts. Do not copy them into personal config.

A diagnostic policy declares kind, a unique id, analyzer keys, appliesTo, and a pure evaluate. evaluate receives readonly normalized snapshots and a process-free policy context. Filter findings by exact rule ID and return bounded guidance plus the supported suppression form.

A verification policy declares a project matcher and exact requirements. Each requirement owns an exact command, cwd: "project-root", and a pure affects(path) predicate. Do not infer scripts or accept command variants.

Use:

import type { DiagnosticPolicy } from "pi-native-hooks/policy";
export default { /* ... */ } satisfies DiagnosticPolicy;

No runtime import is needed. Enums, namespaces, parameter properties, JSX, and tsconfig transforms are unsupported in personal modules.