# Engine exhaustiveness inside COC

SFT treats “universality” as a **decision statement**: within the declared applicability class (COC), every declared phase-coverage claim resolves to either a certificate or a named obstruction.

## Declared inputs and possible outputs

A declared context specifies a slice/subsystem, a phase observable, a target rule (including coupling conventions), a witness mechanism, and a perturbation model.

Within COC, the engine outputs exactly one of:

- **WSC (Witness Stability Certificate):** coverage on the correct target with explicit robustness margins and an auditable predicate ledger
- **WOB (Witness Obstruction):** a canonical obstruction code with evidence pointers

## Validator predicates and the first-failure rule

COC is implemented by a fixed, finite suite of **validator predicates** (V01–V15).

- A **WSC** is admissible only if every required predicate for the declared mechanism/target holds.
- If any required predicate fails, the engine must output a **WOB**.
- The WOB code is determined by the **first failed predicate** in a canonical total order.

This makes the obstruction catalog exact: it is not a list of possible problems, it is the full list of refusal modes available to the engine inside COC.

## Exhaustiveness theorem (predicate exhaustion)

Let `Pred` be the ordered predicate list and let `Req(ctx) \subset Pred` be the subset required for the declared context `ctx`.

Exactly one of the following holds:

- every predicate in `Req(ctx)` holds, and a WSC is admissible (and is the correct output type), or
- some predicate in `Req(ctx)` fails, and the first failing predicate determines a WOB code (and is the correct output type)

There is no third outcome inside COC.

## Where this is specified

- Engine contract: `engine/contracts/engine_contract.md`
- Predicate spec: `engine/contracts/VALIDATOR_PREDICATE_SPEC.md`
- Predicate ordering: `engine/contracts/validator_predicates.json`
- WOB codebook: `engine/contracts/wob_codebook.json`
- TeX statement of predicate exhaustion: `global_universality/PREDICATE_EXHAUSTION_LEMMAS.tex`
- TeX statement of catalog completeness: `global_universality/WOB_CATALOG_COMPLETENESS.tex`

## Optional strict evidence anchoring

If `SFT_AUDIT_STRICT_ANCHORS=1` is set, audits require every `theorem_ref` to include an anchor (file label) and verify that the anchor exists in the referenced source.
