HKUDS/DeepTutor · error · ValueError

Choice option labels must run A, B, C… with one option each;

Error message

Choice option labels must run A, B, C… with one option each; got {intended_labels}. Retry mastery_quiz with one full body per label.

What it means

Error "Choice option labels must run A, B, C… with one option each; got {intended_labels}. Retry mastery_quiz with one full body per label." thrown in HKUDS/DeepTutor.

Source

Thrown at deeptutor/capabilities/mastery/tools.py:183

    supplied_type = str(raw_question_type or "").strip().lower()
    if supplied_type and supplied_type not in _QUESTION_TYPES:
        allowed = ", ".join(_QUESTION_TYPES)
        raise ValueError(f"mastery_quiz.question_type must be one of: {allowed}.")

    question_type = supplied_type or ("choice" if options else "short")
    if question_type != "choice":
        if options:
            raise ValueError(
                f"mastery_quiz.options cannot be used with question_type={question_type!r}; "
                "omit options or use question_type='choice'."
            )
        return question_type, [], expected_answer

    intended_labels = option_label_intent(options)
    if intended_labels is not None and set(intended_labels) != canonical_labels(
        len(intended_labels)
    ):
        raise ValueError(
            f"Choice option labels must run A, B, C… with one option each; got "
            f"{intended_labels}. Retry mastery_quiz with one full body per label."
        )

    choice_options = parse_options(options)
    duplicate = _duplicate_option_body(choice_options)
    if duplicate:
        raise ValueError(
            f"Two or more choice options have the same answer ({duplicate!r}), so the "
            "learner would be shown identical choices. Retry mastery_quiz with one "
            "distinct body per option."
        )
    if not has_option_bodies(choice_options):
        raise ValueError(
            "Choice questions need full option bodies in mastery_quiz.options "
            "(for example ['A: first answer', 'B: second answer']), not only "
            "the labels A/B/C/D. Retry mastery_quiz with the exact option "
            "descriptions you will show through ask_user."

View on GitHub (pinned to 3e82f13042)

When it happens

Trigger: Thrown at deeptutor/capabilities/mastery/tools.py:183 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of HKUDS/DeepTutor@3e82f13042 (2026-08-27). Data as JSON: /api/errors/3afd53be42d17c02. Report an issue: GitHub.