mirror of
https://github.com/THU-MAIC/OpenMAIC.git
synced 2026-10-15 05:11:24 +08:00
* fix(generation): enforce quiz option value/label contract When a model puts choice content in value and a bare A-Z letter in label, swap those fields so persisted quiz options keep a letter as the selection identity and the content as the label. Correct objects, plain strings, and answer-key normalization stay as they were. Closes #1375 * fix(generation): rewrite swapped quiz letter keys to option values When a bare label is moved onto the option value, a raw answer token that exactly equals that original label is rewritten to the uppercased letter before exact alignment. The stored key is then the letter QuizView submits, so that submission grades correct. A stored "a" on an already-correct value "A" is left unresolved. Closes #1375 * fix(generation): reject invalid quiz option shapes instead of swapping Stop rewriting quiz options when a model puts content in value and a letter in label. The quiz prompt now requires value to be one ASCII letter A-Z and label to be the option content. A choice question that still breaks that contract, or whose answer does not name an option value, is invalid model output and regenerates. Closes #1375 --------- Co-authored-by: wyuc <wang-yc24@mails.tsinghua.edu.cn>