[BE] Remove the UNSTABLE markers from the CBE APIs
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
Direzione di ricerca
Una volta completato il lavoro sulla funzionalità dei criteri di competenza, cerca i marcatori UNSTABLE nel codice CBE di openedx-core e openedx-platform. In openedx-core, inizia da src/openedx_learning/applets/cbe/api.py, src/openedx_learning/applets/cbe/rest_api/v1/serializers.py e src/openedx_learning/applets/cbe/rest_api/v1/views.py; cerca anche in openedx-platform nel caso siano stati aggiunti nuovi marcatori. Rimuovi solo i paragrafi dei marcatori, mantieni completo ogni docstring e verifica che non rimangano marcatori CBE e che i test esistenti passino senza modifiche.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
User Story
As a developer of openedx-platform or a community plugin, I want the CBE APIs in openedx-core and openedx-platform to carry no UNSTABLE marker once the competency criteria work is complete, in order to rely on them as stable contracts that change only through the DEPR process.
Description
openedx-core's README states the convention: an API marked UNSTABLE may change at any time, and every other API is stable, with breaking changes announced through the community DEPR process. While the competency criteria work was in progress, the CBE applet's public functions, REST serializers, and REST views were marked UNSTABLE. Once the last feature PR of this epic merges, this code is complete for the release, and this ticket removes their markers so the functions read as the stable contracts they now are.
The definition of done is that no UNSTABLE marker of any CBE code remains anywhere in openedx-core or openedx-platform, found by searching the code at implementation time. The counts and locations in Technical Details are what a search found on the day this ticket was written. They are a starting point, not an inventory: a marker that was missed that day, or added after it, is in scope all the same.
Context
- This ticket runs after the last feature PR of this epic merges. Removing a marker commits the function to DEPR for any later breaking change, so it is the last change before release.
- #SP10-TBD confirms that there are still no UNSTABLE markers once the Student Progress work completes.
Acceptance Criteria
There is no manual QA path. Acceptance is determined by a PR reviewer verifying the following against the code:
- Searching openedx-core and openedx-platform for
UNSTABLEfinds no marker on any CBE code: nothing undersrc/openedx_learning/applets/cbe/in openedx-core, its REST API included, and nothing in the CBE code openedx-platform holds. Markers not listed in Technical Details count the same as the ones that are. - Every docstring that held a marker still reads as a complete contract description without it: no dangling "so its shape may change" clause and no empty paragraph.
- No behavior changes: each PR touches docstrings and comments only, and the existing tests pass unchanged.
Technical Details
This is a suggested approach, not the source of truth. The User Story, Description, and Acceptance Criteria define what must be true when the work is done.
Approach
- Run a repo-wide search for
UNSTABLEin openedx-core oversrc/,docs/, andREADME.rst, and in openedx-platform over the CBE code it holds. The search result at implementation time is the inventory. - Delete the UNSTABLE paragraph from each docstring the search finds on CBE code. Leave the rest of each docstring as it is.
- Re-read each edited docstring once, so the sentence before the removed paragraph still ends the thought.
- One PR per repo. The openedx-platform PR exists only if the search there finds a marker.
Starting point, from a search of upstream main in openedx-core and upstream master in openedx-platform on 2026-10-31:
| Repo | Markers | Files |
|---|---|---|
| openedx-core | 17 | src/openedx_learning/applets/cbe/api.py (12), src/openedx_learning/applets/cbe/rest_api/v1/serializers.py (3), src/openedx_learning/applets/cbe/rest_api/v1/views.py (2) |
| openedx-platform | 0 | The two UNSTABLE hits in the platform are in code unrelated to CBE and stay. |
Additional context
- The README's one sentence on the convention stays as it is. No file under
docs/mentions the markers, and openedx-core keeps no changelog file, so no documentation changes with this ticket. - #SP10-TBD repeats the search once the Student Progress work completes, since that work merges after this ticket and may add entry points with markers of their own.
- Lingua principale
- Python
- Stelle
- 10
- Fork
- 35
- Merge medio
- 3g 8h
- PR unite (30g)
- 30
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di openedx/openedx-core
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
openedx/openedx-core#831 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
openedx/openedx-core#827 ·
I maintainer di solito rispondono entro 1 giorno
-
Followup Ticket - DraftingAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
openedx/openedx-core#928 ·
I maintainer di solito rispondono entro 1 giorno
-
[Follow-up BE] Remove the ENABLE_COMPETENCY_MASTERY_TRACKING settingForse già presa @alezconsultant l’ha presa 3 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
openedx/openedx-core#924 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 Mezza giornata Idoneità per principianti 48/100
openedx/openedx-core#923 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di openedx/openedx-core
Issue simili
-
documentation good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
MarketSquare/robotframework-browser#5479 ·
I maintainer di solito rispondono entro 1 giorno
-
Visual COBOL: missing 11.0 and 12.0, and 9.0 date differs from Rocket Software's lifecycle pageAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
endoflife-date/endoflife.date#11561 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
OCA/l10n-brazil#5602 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation review-2.0.0
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
dkuenzel/meshcore-home-gateway#106 ·
I maintainer di solito rispondono entro 1 giorno