# WOB Codebook (Canonical Obstruction Codes)

This codebook fixes naming collisions and makes obstruction reporting stable across:

- theorem packages (global universality)
- engine schema contracts
- shipped example artifacts

Canonical format

- `WOB-XX-<slug>` with a two-digit index `XX`

## Canonical codes

- **WOB-01-no-subsystem**  
  No meaningful cyclic subsystem/observable is available in the measured model.

- **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 used under coupling; CST not computed or baseline not defined.

- **WOB-07-mixing-not-justified**  
  Mixing claim made without explicit NDB/diffusion or other admissible mixing hypothesis.

- **WOB-08-orbit-collapse**  
  The claimed action regime contains no χ-active circle-type orbit (symmetry not realized on the domain).

- **WOB-09-equivariance-defect**  
  Equivariance fails beyond admissible tolerance in the chosen model class.

- **WOB-10-resonant-locking**  
  Rank deficiency / rational dependence prevents intended torus sweep or collapses the target.

- **WOB-11-disconnected-slice**  
  Measurement domain misses the orbit-bearing/loop-bearing component needed for the claimed target.

- **WOB-12-slope-zero-quotient-nonsurjective**  
  χ is trivial (slope zero) **and** the induced quotient factor map is not surjective; slope-zero alone is not an obstruction to SCL.


- **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).

## Legacy mapping

Older artifacts or notes may use:

- `WOB-1-no-subsystem` → `WOB-01-no-subsystem`
- `WOB-2-trivial-winding` → `WOB-02-trivial-winding`
- `WOB-3-pinch` → `WOB-03-pinch`
- `WOB-4-tear` → `WOB-04-tear`
- `WOB-5-holonomy-defect` → `WOB-05-holonomy-defect`
- `WOB-6-coupling-mismatch` → `WOB-06-coupling-mismatch`
- `WOB-7-mixing-not-justified` → `WOB-07-mixing-not-justified`

The canonical codes are preferred for all new writing and artifacts.

## Machine-readable catalog

For audits and tooling, the same canonical list is mirrored in:

- `engine/contracts/wob_codebook.json`
