Quality contract red on main: zip strict=, format drift, and typecheck narrowing (CI cancelled since 6db5c2b3)
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 82/100
Research direction
Run python -m ci.quality_contract --repository . first, then inspect the flagged locations in courses/tests/test_course_illustrations.py, content/sync_parsers/podcasts.py, content/tests/test_sync_parsers.py, courses/tests/test_family_page_content.py, content/tests/test_faq.py, and courses/tests/test_course_family_landing.py. Use the existing narrowing pattern in content/tests/test_queries.py as a reference; done means the quality contract passes end-to-end.
Written by the indexing model from the issue text.
Description
What happened
The push of d7e53f5f (merge of #382) went red:
- CI run 35010874544:
qualityjob failed; its fail-fast step cancelleddjango,playwright, andcontainer;ci-gatefailed → run cancelled. - Deploy Dev run 35010874633:
verify-ci(requires a green CI verdict for the exact SHA) failed →publish/deployskipped.
Main has therefore had no green release pipeline since the run for 55a400c7 (15:56Z); the intervening runs for b297191d and d7e53f5f died in the quality job.
Root causes (all in the versioned quality contract, target order)
lint— B905zip()without explicitstrict=atcourses/tests/test_course_illustrations.py:127, introduced by6db5c2b3(no issue reference).format-check(would have failed next) — drift incontent/sync_parsers/podcasts.pyandcontent/tests/test_sync_parsers.py(via the #382 merge) andcourses/tests/test_family_page_content.py.typecheck(would have failed next) — 3 mypy errors fromdict | Nonenot narrowed afterassertIsNotNoneincontent/tests/test_faq.py:405,417andcourses/tests/test_course_family_landing.py:425.
Fix (on-call, this issue)
strict=Trueon the flaggedzip(both iterables have length 3; mispairing would silently build wrong fixtures).ruff formatapplied to the four drifted files.- Bare
assert x is not Nonenarrowing lines added after the threeassertIsNotNonecalls (matches the existing pattern incontent/tests/test_queries.py).
Verified locally: python -m ci.quality_contract --repository . passes end-to-end (lint, format 832 files, typecheck, migrations, django-check, deployment-check, test-ci 671 passed).
Refs the introducing commit 6db5c2b3; also hardens files touched by #382.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DataTalksClub/website
-
bug infra operations P1 testing
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
DataTalksClub/website#329 ·
-
bug content data-migration documentation events operations P1
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
DataTalksClub/website#327 ·
-
bug frontend P0 testing
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
DataTalksClub/website#300 · 7 comments ·
-
bug data-migration events P0 testing
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
DataTalksClub/website#295 · 6 comments ·
-
courses enhancement P1
Difficulty 4/5 3-5 days Newbie friendliness 46/100
DataTalksClub/website#439 · 3 comments ·
All issues in DataTalksClub/website
Similar issues
-
ACK_WAITING HELP_WANTED UPDATE_CS
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OWASP/CheatSheetSeries#2458 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
BasedHardware/omi#19711 ·
Maintainers usually reply within 1 day
-
Qwen3_5MoeModel no longer returns router_logits, breaking aux loss with output_router_logits=TrueOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
huggingface/transformers#49172 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
vllm-project/vllm-metal#885 ·
Maintainers usually reply within 1 day