Compatibility: Pactmark 0.1.x. Every payload is a strict object. Events carry digests and ids — never prompt, completion, workspace or credential content.

States

Lifecycle

resumeTarget is one of planning, running, verifying.

Model boundary

Digests, not content. Reconstructing a prompt from a Pactmark event stream is impossible by design — which is also why the event stream is safe to retain longer than the model interaction itself.

Tools

Retries

classification is timed_out, retryable or uncertain.

Human interaction

safePrompt is a human-facing string, already separated from raw model output.

Effects

effectMayHaveOccurred is a literal true on both EffectNeedsReconciliation and EffectAbandoned. The schema does not permit recording those states while implying the effect definitely did not happen.
resolution is recovered_acknowledgement or abandon_uncertain.

Output and verification

status is pass, fail or needs_review. compensatingControls must be non-empty.

Consuming events

Branch on eventType and on KAF_* codes. Human-readable text, ordering outside the documented contract, and stack traces are not stable APIs.

Run lifecycle

How these events move the run between states.

Error reference

Every KAF_* code with its retryability and HTTP status.