Skip to main content
Version: MVP

Plugin probation

2 min readReferenceUpdated 2026-05-19

What you'll find here

The craik.plugin_probation contract — how new or changed plugins stay out of durable trust until review criteria are satisfied.

Probation starts at the default.

Records start with status: probationary and durable_trust_granted: false. Probationary records cannot include a decision or grant durable trust.

Plugin descriptor

Policy envelope

Review criteria

Compatibility checks

Evidence and receipt records

Promotion / rejection / expiration decisions

Whether durable trust was granted

Review states

State
Required
Notes
promoted
promote decision
Plus passing required criteria, criterion evidence, and compatibility checks. Promotion does not have to grant durable trust — the field defaults to false so callers make durable trust explicit.
rejected
reject decision
Records the explicit decision.
expired
expire decision
Plus expires_at.

Auditable without mixing.

These states make plugin review auditable without mixing descriptor metadata with runtime authority or policy grants.

Decisions require evidence links. Criteria marked as passed also require evidence links, so a plugin cannot become promoted based only on an unchecked status change.

What's next