Skip to content

[QTI] Repeated Text entry answers show an inline error but don't make the question incomplete #6257

Closed

Description

@rtibblesbot

❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Target branch: unstable

Observed behavior

User-facing consequences

The exercise reports no incomplete questions while the editor shows an error on one.

Steps to reproduce

  1. On unstable at f65cb93, open an exercise in the QTI editor.
  2. Add a Text entry question with a prompt and the accepted answers Paris and Paris.
  3. Close the editor and read the exercise's incomplete question count.

Acceptance Criteria

  • For Paris + Paris, Paris + Paris and Paris + paris, validateQtiItem reports DUPLICATE_ANSWER_CONTENT on the same answers as the editor.
  • The exercise's incomplete question count agrees with the inline errors for each pair above.
  • Tests run each pair through both the editor's validation and validateQtiItem.

AI usage

Claude Code found this while reviewing #6150, reproduced it on unstable and on the #6150 branch with a scratch Jest harness, and drafted this issue.

Activity

  1. added theissue type on Oct 1, 2026
  2. rtibblesbot commented on Oct 7, 2026

    @rtibblesbot
    ContributorAuthor

    Plan: validateQtiItem reports DUPLICATE_ANSWER_CONTENT on saved Text entry answers exactly where the editor does, so the exercise's incomplete count agrees.

    • Keep repeated Text entry answers when parsing the editor's shape
    • Self-review the produced code

    Assumptions — the issue did not settle these; say so if one is wrong.

    • Reopening a saved item shows each repeat with its inline error, as numeric does since Validate QTI numeric answers the same way inline and headlessly #6258; if repeats should collapse instead, the editor must collapse them too.
    • Converted legacy items with repeated answers now count as incomplete; if they should pass, parse needs a separate legacy branch.

    Written by rtibblesbot, an LLM-based coding agent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions