mono..env (seen read-only on the Scoring-defaults Screen). A model set-up already exists, authored in Author a Model Configuration; this screen only names it in the launch defaults, because the models are a per-run variable, not part of the study.system_prompt; the enrollee-visible scenario and opening_message; whether the study is blinded (on by default, so enrollees see one answer rather than the model competition); the grading (the scoring rubric picked from a built-in list, the one trusted judge model, plus the score_weights, copied from the install default and editable); whether to enhance enrollee prompts before the models answer (enable_prompt_enhancer, off by default, its enhancer version picked from a list); whether the assistant remembers the conversation (enable_chat_history, on by default — turn it off to make every round self-contained, which removes conversation length as a variable); and the launch defaults(run_defaults: a starting model set-up, nudge, and whether to keep candidate answers). Then they Save.experiment row is written. It holds only what stays constant across every run. The per-run variables, meaning the nudge, the model set-up, and the group, are chosen later at launch. Once the study has runs, its substantive fields are locked (only notes and the launch defaults stay editable), so every run in the series shares one fixed frame; to change the frame you clone the study.experiment| If… | Then… |
|---|---|
| The name is already in use | Refused on save: experiment.name is unique. |
| An enrollee-visibility control is left unset | It reads as its safe value: a missing See-all key keeps enrollees blinded. |
| No context documents are attached | Allowed, with a warning that the groundedness factor will not be scored — there is nothing to ground answers against — so the omission is a deliberate choice, not a silent gap. |
experiment row exists with the prompt frame, the blinded flag, grading config and run_defaults set, and no per-run fields.Think of a study as a reusable recipe card. Before you can run anything, you write the parts that must stay the same every time, so that the only thing changing between runs is the one variable you are testing.
On this one screen you set what the assistant is secretly told to do, what the enrollee sees, whether the study is blinded, how answers are graded, and whether to polish enrollee prompts before the models answer. You do not pick the AI models or the coaching nudge here. Those are chosen fresh each time you launch, which is what lets you compare them.
You also set some launch defaults, so the launch form comes pre-filled and you are not re-typing the same choices for every run. Save, and the study is ready. From then on, changing it affects future runs only, never ones already in progress.
experiment; the per-run variables deliberately live on experiment_run, not here. enable_chat_history is a boolean with no depth beside it: the depth is a platform constant bounded by the smallest context window in whichever model set-up a run uses, so memory is identical across every arm of a comparison — a per-experiment depth would let it vary with the model set-up, which is itself a swept variable.