Skip to content

style: issue #73 (Path|str) + типизация diagnostic_stepik + мелкие идиомы #407

Description

@ArtVsMark

[P2] · Part of #392 · аудит docs/audit-2026-07-14.md (P-1, P-2, P-3)

Что сделать

  • Убрать pathlib.Path | str из публичных path-сигнатур и защитный pathlib.Path(...) из тел (storage.py:33,61, oauth_flow.py:55,135, ide.py:61, glossary/json_provider.py:107-126) — прямое нарушение инварианта issue refactor(api): Path instead of str in public contracts #73.
  • diagnostic_stepik.py: dictdict[str, Any], снять ~9 # type: ignore[type-arg] (строки 101-243).
  • Мелочи: Counter вместо ручного счётчика (stats.py:142, commands.py:65); re.Match[str] (normalizers.py:37); path.open() вместо open(path); рассмотреть with subprocess.Popen(...) (runner.py:238).

Acceptance criteria

  • mypy чист без новых # type: ignore; сигнатуры путей — Path.

Links

Инвариант CLAUDE.md #73/#49.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions