multi-criteria playground
Score one piece of content against many atomic criteria at once. Each criterion gets an independent calibrated probability in [0, 1] from the Probe (the production output — one content prefill + K seed-pops via FlashInfer, so cost grows slowly with K). With two or more atoms, the compound view derives ALL / ANY / NONE / EXACTLY-ONE algebraically — the recommended pattern for multi-label, since the probe is broken on non-monotonic compounds scored directly.
How does the Probe work?
The Probe (production output) uses the KV-pop primitive — prefill the content once, then pop K criterion seeds against the cached content KV — reading the hidden state to score each criterion against the content. Cost grows slowly with K because the content forward pass is amortized across all criteria. It's isotonic-calibrated. This is what the API serves.
Bands: ≥0.85 ≥0.5 ≥0.15 <0.15.
Full picture in predicate/STATE.md.