Skip to content

Leave answerless legacy input questions out of Perseus archives - #6262

Open
rtibblesbot wants to merge 1 commit into
learningequality:unstablefrom
rtibblesbot:issue-6210-b49b9f
Open

rtibblesbot wants to merge 1 commit into
learningequality:unstablefrom
rtibblesbot:issue-6210-b49b9f

Conversation

@rtibblesbot

@rtibblesbot rtibblesbot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Perseus archive drops answerless legacy input questions (previously shipped as unsatisfiable numeric-input) from item files and exercise.json, with a publish warning — same rule as the QTI package.
  • Without a QTI package, AssessmentMetaData takes item ids from the Perseus archive, so Kolibri never requests a dropped item.

References

Fixes #6210. Follows: #6209. Related: #6208.

Reviewer guidance

AI usage

Claude Code implemented the fix and tests from a reviewed plan; verified with the full Python test suite and pre-commit.

🤖 Generated with Claude Code

Committed separately: no commit on this branch introduced the lines these changes touch, so they are a new commit rather than folded into the work they amend:

  • contentcuration/contentcuration/tests/test_exportchannel.py
  • contentcuration/contentcuration/utils/assessment/perseus.py

Written by rtibblesbot, an LLM-based coding agent.

@rtibblesbot

🟡 Waiting for feedback

Last updated: 2026-10-05 22:59 UTC

@rtibblesbot

Copy link
Copy Markdown
Contributor Author

Outside this PR's scope — tracked under #5998:


@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly

How was this generated?
  • Ran pre-flight CI checks (lint, format, tests) and verified all pass
  • Rebased onto the target branch and resolved any conflicts
  • Reorganized commit history into clean, logical commits
  • Audited the diff to ensure only issue-relevant files are changed
  • Built PR body from the repository's PR template with evidence blocks

@rtibblesbot

Copy link
Copy Markdown
Contributor Author

Outside this PR's scope — tracked under #5998:


@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly

How was this generated?
  • Ran pre-flight CI checks (lint, format, tests) and verified all pass
  • Rebased onto the target branch and resolved any conflicts
  • Reorganized commit history into clean, logical commits
  • Audited the diff to ensure only issue-relevant files are changed
  • Built PR body from the repository's PR template with evidence blocks

Exercises only; units keep them, as their pre/post test lists every id.
Assessment metadata drops them too when there is no QTI package.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[QTI] Perseus archive of an exercise with raw Perseus questions keeps legacy input questions with no answer

2 participants