Typed questions: choice, score, boolean
Parlour asks three shapes of question: a choice over options, a score on ordered levels, and a boolean. The option sets are built per character per beat from the rules, so the model can only pick something legal.
The question pack is built fresh for every character on every beat, in buildQuestions. That is not cosmetic: the option set is the rule surface the model is allowed to reach.
Choice
The action question offers only the actions legalActions returns for that person in that state, each labelled with its blurb and its energy price: hold court (costs 9 energy). The target question offers only people they can reach, labelled by class and by whether they are standing here or across the room. A mask question offers the room's masks.
Illegal moves are absent instead of forbidden in prose, so there is no prompt to obey and nothing to police afterwards.
Score
Score questions declare their levels in order, worst to best, and the labels are written in plain speech instead of numbers. Hunger runs chill about it · mildly interested · focused on it · hungry · desperate; threat runs from an ally, no threat at all up to can knock you out tonight; energy-after runs from nothing left to fresh.
Ordered natural-language levels are easier to answer consistently than a 0–10 scale, and the engine gets an index it can do arithmetic on.
Boolean
One question per beat is a proposition and comes back as P(true): the betrayal question. Its wording is generated per character and per room, because a different question is a different scale and the bar it is compared against was measured against that exact wording.
Read next
The nine-question pack
Every character answers the same nine questions every beat, in one evaluation call: action, target, mask, hunger, threat, betrayal, two questions the room cares about, and what they have left afterwards.
The state object: what one character can see
Each call carries a JSON state built for one character: their own condition, the people in reach, what they can remember of the last few beats, and the arithmetic of the prize. Never the whole world, and never the rules.
The betrayal bar, measured rather than guessed
An alliance dies when the model's P(better off without them) clears a bar: 0.42 in the pair rooms, 0.45 in the crew room. Both numbers came from asking the same question across a ladder of situations and putting the bar in the gap.
What an evaluation model is
An evaluation model takes one shared state and a set of typed questions, and answers all of them in a single request. Each answer comes back as a full probability distribution instead of a sentence.