Replace the few-shot "<sentence> is the same as" -> "<label>" framing with
a single system instruction: name the targets and ask for the one most
similar to the player's message, sent the bare sentence as the user turn.
Drops the per-board few-shot examples and the Level.examples field along
with all the "is the same as" suffix plumbing.
The Modal endpoint is prompt-agnostic (it scores whatever messages arrive),
so no redeploy is needed for this to take effect in the app.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
feat(judge): self-host emotion judge on Modal GPU with exact logprobs (#24)
Ben Blaker
Unverified signature
9f36d31
Replace the HF Inference Providers call (top-20 logprob cap + missing-label floor) with a self-hosted MiniCPM3-4B on a Modal GPU that reads exact full-vocab probabilities. judge.py builds the prompt and POSTs {messages, labels} to a scale-to-zero Modal endpoint that scores each label's whole token sequence in one batched forward pass. Reconciled with the modular levels/ architecture on main.