Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

🧭 [Эпик] Аудит 2026-08-10 (v1.10.0): 489 находок, 70 срезов, 100% верификации

Open
#915 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Documentation
Clarity
Needs clarification
Activity status
Stale
Tech stack
python
Domain
testing

Research direction

Start with docs/audit/2026-08-10-full-roles.md, especially § 2 for the risk-grouped sub-issues and § 16 for remaining gaps. The audit is already associated with PR #914, so check the sub-issues for actionable work; this issue itself gives no specific change or completion criteria.

Written by the indexing model from the issue text.

Description

audit epic

> Документ аудита: docs/audit/2026-08-10-full-roles.md · PR #914

Полный мультиролевой аудит: 70 ролевых, зонных и прогонных срезов, 489 находок с привязкой к file:line, 489 адверсариальных верификаций — ни одной находки без вердикта скептика. Пять критиков полноты, разбор стороннего аудита, разделы «Запуск» и «Настройки» по прямому запросу владельца. Волн Workflow — 24, ровно по 5 агентов.

Что показал аудит

  1. Грейдер выносит неверный вердикт — все восемь подтверждённых high про это, и все восемь найдены прогоном, а не чтением. Формат 2 молча выбрасывает пару input_02/expected_02 с ведущим нулём: если выброшенный кейс был проверяющим, неверное решение получает OK. Формат 3 принимает stdin-данные вида x = 5 за function-режим → ложный RE на верном решении. Потерянный expected_N.txt — не ошибка, а тишина: «OK N/N» на неполном наборе.
  2. Молчание вместо ошибки — сквозной шаблон, и поверх него код возврата всегда 0: FAIL, RE и NO TESTS неотличимы от успеха для любой автоматизации (четыре независимых среза).
  3. Пользователь не выбирает, как запустить. --sandbox без --mode игнорируется молча (три независимых среза); лаунчер даёт три параметра и молча включает историю; раздел «Настройки» не содержит ни одного интерактивного элемента. Причина системная — CONFIG связывается на импорте в двадцати модулях.
  4. Учебный контент местами учит неверному: 209 из 1349 карточек глоссария не компилируются, карточка any заявляет False там, где Python печатает True.
  5. Сейф-нет не ловит то, ради чего заведён: три property-теста остаются зелёными, если заменить проверяемую функцию на тождественную.

Статистика

Показатель Значение
Находок 489 · верифицировано 489 (100%)
Вердикты 306 CONFIRMED · 171 PARTIAL · 6 REFUTED · 6 DUPLICATE
В работу 477 — 8 high · 83 medium · 386 low
Горизонты 32 bug · 373 quick · 68 mid · 4 long
Severity скорректирован верификатором 238 находок

Как устроен разбор

Подэпики прикреплены как sub-issues и собраны по риск-группам § 2 документа, а не по механическому severity: верификаторы систематически понижали шкалу (238 коррекций из 489), поэтому low у подтверждённой находки не означает «неважно» — объяснение в § 4 документа.

Метод и его пределы

Критики полноты вынесли аудиту приговор: 252 файла из 406 не открыл никто, след реального прогона несли 44 находки из 424. По их указаниям дозапущены волна слепых зон (4 новых high) и стратегическая волна (68 среднесрочных целей вместо прежних двух).

Непроверенным осталось (§ 16 документа): песочница ни разу не запускалась — в окружении нет bubblewrap; веб ни разу не открывался в браузере; загрузчик и OAuth не проверялись против живого Stepik. Это закрывают фазы 2 и 3, запланированные отдельно.

Что сюда не входит

Серверный пласт отведён в roadmap #59: канарейка дрейфа Stepik API, каталог задач вместо локального мастера, переопределяемый API_HOST, агрегация данных об использовании.

Сторонний аудит, переданный владельцем, разобран в § 13: 42 вердикта, ни одной опровергнутой находки, один уникальный high — задвоение при параллельной миграции схемы истории.

Dominant language
Python
Stars
3
Forks
6
Avg merge
12h 26m
Merged PRs (30d)
51

Getting set up

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.

More from ArtVsMark/Stepik-Python-Grader

All issues in ArtVsMark/Stepik-Python-Grader

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.