Skip to main content
The schema is published at schema/drift-event.schema.json in the repository. This is what pikopod incidents --format json returns per event, what lands in <data_dir>/events.ndjson one object per line, and what an alert carries.

Fields

Kinds

Shape kinds describe a successful response whose shape changed against a frozen baseline: Incident kinds describe an exchange that failed. They need no baseline: Declared events carry declared:<check-id>, for example declared:endpoint-removed, with the check IDs from Severity.

Compatibility rule

Consumers must ignore unknown fields, and must ignore kinds they do not recognise. New kinds and new fields may be added without a version bump. schema_version moves only for a structural change: a field removed, a type changed, or an existing field’s meaning changed. See Exit codes.

Reading the log

pikopod incidents --format json returns {"schema_version", "total_matching", "truncated", "events"}. total_matching and truncated are always present, so a shortened list can never be mistaken for a clean one. Events are sorted newest first by last_seen, and the log keeps the latest state per fingerprint.