# Engine Schemas (SFT)

These JSON schemas are the SFT analogue of the certificate and obstruction contracts used in your RU flagship work.

They are  small and stable:

- `witness_stability_certificate_schema.json` (WSC): stores witness tier, mechanism, value, perturbation model, margins, assumptions, and artifact links.

- `witness_obstruction_schema.json` (WOB): stores a named failure mode with evidence, next moves, and theorem/file pointers under `artifacts`.
- `universality_report_schema.json`: stores the scoped universality thesis, claim ladder, nonclaims, theorem index, and artifact index.

Design goal

- Every strong universality sentence should be traceable to either a WSC or a WOB, plus a theorem reference.

Traceability rule

- Every shipped WSC and WOB must include at least one precise theorem pointer (file plus anchor) so the justification is navigable.

## WOB obstruction catalog (canonical, declared-regime complete)

Obstructions are reported using a fixed canonical codebook.

- Canonical format: `WOB-XX-<slug>` with a two-digit index `XX`
- Canonical list (treated as complete **within the declared regime** used by the witness engines):

- **WOB-01-no-subsystem** — No meaningful cyclic subsystem/observable is available.
- **WOB-02-trivial-winding** — All candidate loops have degree/holonomy multiple 0.
- **WOB-03-pinch** — Image misses an arc (non-surjective on the intended target).
- **WOB-04-tear** — Regularity failure prevents defining degree/holonomy robustly.
- **WOB-05-holonomy-defect** — Lift/connection consistency needed for holonomy certification fails.
- **WOB-06-coupling-mismatch** — Wrong target/baseline used under coupling (CST not computed or baseline not defined).
- **WOB-07-mixing-not-justified** — Mixing claim made without an admissible NDB/diffusion hypothesis.
- **WOB-08-orbit-collapse** — No χ-active circle-type orbit exists in the declared action regime.
- **WOB-09-equivariance-defect** — Equivariance fails beyond admissible tolerance.
- **WOB-10-resonant-locking** — Rank deficiency / rational dependence collapses the intended torus target.
- **WOB-11-disconnected-slice** — The measurement domain misses the orbit/loop component needed for the claim.
- **WOB-12-slope-zero-quotient-nonsurjective** — χ is trivial and the induced quotient factor map is not surjective.
- **WOB-13-ambiguity** — Multiple incompatible small-integer constraint hypotheses fit within the declared tolerance/search; inference is not uniquely determined.
- **WOB-14-insufficient-excitation** — Samples/excitation are insufficient to identify constraints/target rank at the declared tolerance (ill-posed inference).
- **WOB-15-resonance-masking** — Near-integer relations or an insufficient stability margin make constraints/target rank unstable at the declared tolerance (resonance masking).

Authoritative source:

- `engine/contracts/WOB_CODEBOOK.md` (human-readable)
- `engine/contracts/wob_codebook.json` (machine-readable; used by audits)

## Notes on completeness language

When the papers say "the obstruction catalog is complete," this means:

- completeness is asserted **only inside the declared regime** (the regime where the validator predicates are defined), and
- completeness is implemented as **predicate exhaustion**: every failed validator forces exactly one canonical WOB code.
