openedx / openedx/openedx-platform

Bug: Subsection prerequisite with min_score 0 is shown as gated by Studio but not enforced by the LMS

Open
#39,114 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug help wanted
Dominant language
Python
Stars
8.2k
Forks
4.4k
Avg merge
6d 18h
Merged PRs (30d)
42

Description

With enable_subsection_gating on, a subsection required as a prerequisite at
minimum score 0, minimum completion 100 is reported as gated by Studio
(xblock/outline gives visibility_state: "gated" and
prereq_min_completion: 100), but the LMS does not gate it. A freshly enrolled
learner's GET /api/courseware/sequence/<gated> returns
gated_content.gated: false immediately.

min_score min_completion Studio visibility_state LMS gated
0 100 gated false
1 100 gated true
50 0 gated true

The gating milestone appears to be created only when min_score >= 1. A
completion-only requirement produces no gate at all, and the author's completion
threshold is silently ignored.

Expected: create the gating milestone whenever a completion requirement is
set, or have Studio refuse or warn on a completion-only prerequisite it cannot
enforce.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the xblock/outline visibility_state and the LMS GET /api/courseware/sequence/ response for subsection prerequisites. Compare the min_score 0, min_completion 100 case with the working cases in the issue, then add regression coverage for completion-only gating. Done means the LMS enforces the completion threshold consistently with Studio, or the unsupported configuration is refused or warned about.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.