You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs/grader-workflow.md:265 — имя пакета stepik-grader[watch] → stepik-python-grader[watch]. 🟣 Тот же баг в help-тексте cli/options.py:103.
docs/api.md:216–217 — /api/insights читает БД из Path.cwd() (insights_adapter.py:22), не из workspace; :194–195 — добавить поле docs_url в карточку /api/rules.
docs/trace-format.md:65–76 — добавить поле type у heap-объектов; «глубже — {repr}» → {type, repr} без kind.
docs/result-contract.md:114 — режимы run добавить microbench.
Часть эпика #381 (§ 4). Места, где документация утверждает то, чего в коде нет.
Scope — доки
docs/logging.md:34— убрать--verboseиз активации диагностики: включает только--diagnostic(cli/__init__.py:415;--verboseуправляет подробностью diff). Заодно :14 добавить уровеньwarning; :67 убрать нереализованное «маскируются до последних 4 символов»; :74–75 — «тест на редакцию — follow-up» устарело (tests/test_diag_log.pyсуществует).docs/server-mode.md:144–151— статусcancelledсуществует (feat(web): отдельный статус "cancelled" в /api/v1/runs — решить до заморозки контракта #296,web/runs.py:56); список режимов/api/v1/runs— ужеtests|playground|trace(не только bench/microbench); блок «контракт как в коде» :62–69 — добавитьRunSpec.cancel_event,RunOutcome.cancelled/sandbox_violation.docs/grader-workflow.md:265— имя пакетаstepik-grader[watch]→stepik-python-grader[watch]. 🟣 Тот же баг в help-текстеcli/options.py:103.docs/api.md:216–217—/api/insightsчитает БД изPath.cwd()(insights_adapter.py:22), не из workspace; :194–195 — добавить полеdocs_urlв карточку/api/rules.docs/trace-format.md:65–76— добавить полеtypeу heap-объектов; «глубже —{repr}» →{type, repr}безkind.docs/result-contract.md:114— режимы run добавитьmicrobench.docs/glossary.md:32–36— верх файла называет source-driven-скан «будущим», хотя §§ :185–284 документируют его как реализованный (feat(glossary): stdlib inventory scanner for official Python coverage #196–feat(glossary): CLI and menu entrypoint for coverage scan #198). 🟣 docstringcore/glossary.py:11«~30 записей» → 28.docs/adr/0001-server-mode.md:3+ индекс :29 — статус «Proposed» → «Accepted» (фазы 1–2 реализованы)..github/PULL_REQUEST_TEMPLATE.md:28иISSUE_TEMPLATE/feature_task.md:27— политика CHANGELOG под docs(changelog): политика краткости записей + ротация старых версий в архив #373: «в каждом PR» (CHECKPOINT — только на релиз), а не «при завершении фичи/спринта».CLAUDE.md:131–134— инвариант №4 ссылается на «fix(cli): --sandbox молча игнорируется при --serve #351» как на будущую задачу; fix(cli): --sandbox молча игнорируется при --serve #351 закрыт иным решением. Переформулировать («открытого issue на проброс sandbox в web нет»).Scope — код (решить отдельно)
lintвresult-contract.md:120–136описано, но ни один продюсерего не создаёт (
grader_core/viewmodels— 0), а lint в историю не пишется(
LintRecordнигде не конструируется,core/history.py:64). Решениевладельца: либо дописать wiring (прикреплять
lintк результату и писатьLintRecordвrecord_run), либо пометить поле «зарезервировано» в контрактеи убрать обещание в
rules-insights.md:83–84. Заодно docstringcore/history.py:21(«наполнение — за будущими feat(insights): таксономия падений + статусы карточек «Подучить» с затуханием по прогонам #347/feat(lint): core/lint.py + opt-in extra [lint] (ruff) — PEP-проверка решения с мини-карточками нарушений #346») —failure_kindуже пишется.Критерии приёмки
lintпринято явное решение (wiring или «зарезервировано»).githubотражают политику docs(changelog): политика краткости записей + ротация старых версий в архив #373