This document is AUTHORITATIVE: the single source of truth for deriving checklist run outcomes.
- The primary outcome of a checklist run MUST be derived exclusively by
derive_primary_outcome(checklist, events). - Authoritative precedence: REFUSAL > BLOCKED > ACTION > DIAGNOSTIC.
- Persona annotations are advisory only and MUST NOT override the derived primary outcome.
- The function MUST return:
primary_outcome,refusal(bool),blocking_reasons(list), andconfidence_level(one ofhigh|medium|low). - No component may infer or mutate the
primary_outcomeoutside of this contract; any attempts are recorded as diagnostic events.
Centralizing outcome derivation improves auditability and prevents duplicated heuristics appearing in multiple modules. The canonical function is deterministic and tests enforce idempotence and precedence.