🎯 [Хвост] Глоссарий: данные, покрытие, пайплайн — 31 находка по файлам
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
Research direction
Start with §§ 5 and 5-bis of docs/audit/2026-08-10-full-roles.md, then trace the listed findings to their named files and tests, especially glossary/coverage.py and scripts/audit_glossary_cards.py. The issue covers 31 findings across many files, so identify a specific finding and confirm its reproduction before making changes. Done means each finding is closed by a PR or explicitly rejected with a reason, and the card gate checks that examples compile and print the claimed result.
Written by the indexing model from the issue text.
Description
Хвост аудита 2026-08-10 по направлению. Полные формулировки, доказательства и репро — в документе:
docs/audit/2026-08-10-full-roles.md (§ 5 и § 5-бис). Эпик хвоста: #995
31 находка: 0 high · 4 medium · 27 low. Все верифицированы скептиками.
Находки по файлам
Чек-лист ведётся по файлам: три десятка построчных пунктов нечитаемы и правятся с конфликтами. Строка закрывается, когда закрыты все её ID; частично закрытая строка остаётся неотмеченной, а закрытые ID названы в ней явно.
-
glossary/coverage.py— 6 (0/1/5):DATA-1-03·CANON-4-01·CANON-4-02·DATA-1-02·DATA-1-07·RUN-5-02. Частично: дефолты команды и лишние предупреждения — #1141 -
core/error_glossary.py— 4 (0/1/3):MET-1-07·ED-2-01·FZZ-1-03·MET-1-03. Частично:MET-1-07закрыт — карточка не-исключения больше не выдаётся за объяснение падения (#1184) -
glossary/stdlib_inventory.py— 3:DATA-1-01·RUN-5-01·RUN-5-07 -
docs/dev/glossary.md— 2:CANON-4-04·MET-2-08 -
scripts/audit_glossary_cards.py— 2:ADD-3-07·DATA-1-05. Жива и ключевая: в скрипте нет ниcompile(, ниast.parse— пример карточки не исполняется, поэтому неверный контент для CI невидим -
glossary/data/builtin.json— 2:ADD-3-02·ADD-3-03— карточкиanyиidучат неверной семантике -
glossary/data/module.json— 2 (0/1/1):ADD-3-01·ADD-3-05 -
core/glossary.py— 1:CANON-4-07 -
glossary/__init__.py— 1:RUN-5-08 -
glossary/data/exc.json— 1:ADD-3-04 -
glossary/data/iter.json— 1:ADD-3-06 -
glossary/detector.py— 1:MET-2-05 -
glossary/json_provider.py— 1:DATA-1-04 -
glossary/lookup.py— 1:VIS-1-02 -
glossary/taxonomy.py— 1:MET-2-03 -
tests/test_glossary.py— 1:CANON-4-05 -
tests/test_glossary_draft_pipeline.py— 1:REV-5-02
Покрытие считается неверно
coverage.py — шесть находок, и две из них ставят под сомнение сам показатель:
- CANON-4-01: термин засчитывается покрытым по совпадению хвоста имени, поэтому
enum.property,operator.absиio.openсчитаются покрытыми чужими карточками; - CANON-4-02: в очередь пополнения как «официальный Python» попадает удалённый API (
re.template).
Пока это не исправлено, бейдж покрытия глоссария завышен, а очередь пополнения ведёт работу по несуществующим целям.
Контент учит неверному
Отдельная линия, у которой есть подтверждение из браузера (фаза 5): BRW-3-01 — многострочный пример в карточке распадается на строки-плитки без отступов, вложенность теряется. Гейт audit_glossary_cards.py проверяет наличие полей, но не работоспособность примера, поэтому для CI это невидимо.
Родственное: карточка any заявляет вывод False там, где Python печатает True (ADD-3-*).
Инвариант «истина глоссария»
CANON-4-05 и REV-5-02 — про защиту от ссылок на внешнюю витрину: ratchet ловит только домен artvsmark.github.io, а docs_url не ограничен ничем; сам ratchet сверяет только id, поэтому новое расхождение у 150 разрешённых карточек невидимо. Инвариант из CLAUDE.md («внешняя витрина — не эталон, ссылаться нельзя») держится слабее, чем кажется.
Критерий приёмки
Каждая находка либо закрыта PR, либо явно отклонена с причиной. Отдельно: гейт карточек проверяет, что пример компилируется и печатает заявленное, а не только что поля заполнены.
- Dominant language
- Python
- Stars
- 3
- Forks
- 6
- Avg merge
- 12h 26m
- Merged PRs (30d)
- 51
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the 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 ArtVsMark/Stepik-Python-Grader
-
area/glossary bug difficulty/medium
Difficulty 4/5 3-5 days Newbie friendliness 35/100
ArtVsMark/Stepik-Python-Grader#1629 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 8/100
ArtVsMark/Stepik-Python-Grader#1626 ·
Maintainers usually reply within 1 day
-
area/core difficulty/hard enhancement
Difficulty 4/5 3-5 days Newbie friendliness 35/100
ArtVsMark/Stepik-Python-Grader#1621 · 1 comment ·
Maintainers usually reply within 1 day
-
area/ci difficulty/easy tech-debt
Difficulty 3/5 Half a day Newbie friendliness 25/100
ArtVsMark/Stepik-Python-Grader#1613 ·
Maintainers usually reply within 1 day
-
area/web difficulty/medium enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 18/100
ArtVsMark/Stepik-Python-Grader#1608 ·
Maintainers usually reply within 1 day
All issues in ArtVsMark/Stepik-Python-Grader
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
huggingface/peft#3955 ·
Maintainers usually reply within 1 day
-
author-page correction
Difficulty 2/5 1-3 hours Newbie friendliness 60/100
acl-org/acl-anthology#10313 ·
Maintainers usually reply within 1 day
-
anime duplicate exception request-theme
Difficulty 1/5 Under an hour Newbie friendliness 82/100
LizardByte/ThemerrDB#8926 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
huggingface/transformers#49556 ·
Maintainers usually reply within 1 day
-
area/security bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
mozilla-ai/otari#2245 ·
Maintainers usually reply within 1 day