refactor(tools): remove platform arg from create-changelog #64

Merged
slaid098 merged 3 commits from refactor/tools/remove-platform-arg-create-changelog into main 2026-08-12 18:05:47 +03:00
Owner

Что сделано

  • Удалён platform arg из create-changelog.ts (schema, валидация, форматирование)
  • Удалены константы VALID_PLATFORMS, PLATFORM_NAMES
  • buildVersionBlock больше не вставляет **Платформы:** строку
  • Удалены 6 тестов с platform из test_create_changelog_tool.py
  • Раздел «Платформа (ОС) релиза» в skills/release/SKILL.md переписан под индустриальный стандарт
  • Примеры вызова create-changelog в SKILL.md — без platform arg

Почему

Индустриальный стандарт (VSCode, OBS, yt-dlp, espanso) не использует метку платформы в release notes. Платформа указывается в pyproject.toml classifiers + README, min-версия ОС в CHANGELOG только при повышении. Метка **Платформы:** дублировала информацию и нарушала стандарт.

Watch out

  • Существующие CHANGELOG-секции с **Платформы:** (voice_assistant v0.1.0, video_uniq) не валидируются тулзой — ручная правка отдельными issues
  • Вызов create-changelog с platform: ["windows"] после удаления arg → ошибка валидации schema. Агенты должны обновить вызовы

Pending

—

Closes #63

Closes #63

## Что сделано - Удалён `platform` arg из `create-changelog.ts` (schema, валидация, форматирование) - Удалены константы `VALID_PLATFORMS`, `PLATFORM_NAMES` - `buildVersionBlock` больше не вставляет `**Платформы:**` строку - Удалены 6 тестов с `platform` из `test_create_changelog_tool.py` - Раздел «Платформа (ОС) релиза» в `skills/release/SKILL.md` переписан под индустриальный стандарт - Примеры вызова `create-changelog` в SKILL.md — без `platform` arg ## Почему Индустриальный стандарт (VSCode, OBS, yt-dlp, espanso) не использует метку платформы в release notes. Платформа указывается в pyproject.toml classifiers + README, min-версия ОС в CHANGELOG только при повышении. Метка `**Платформы:**` дублировала информацию и нарушала стандарт. ## Watch out - Существующие CHANGELOG-секции с `**Платформы:**` (voice_assistant v0.1.0, video_uniq) не валидируются тулзой — ручная правка отдельными issues - Вызов `create-changelog` с `platform: ["windows"]` после удаления arg → ошибка валидации schema. Агенты должны обновить вызовы ## Pending — Closes #63 Closes #63
docs(release): rewrite platform section in release skill
All checks were successful
CI (always) / bootstrap (pull_request) Successful in 5s
CI / bootstrap (pull_request) Successful in 8s
CI / typecheck (pull_request) Successful in 37s
CI / lint (pull_request) Successful in 37s
CI / complexity (pull_request) Successful in 37s
CI / test (3.13) (pull_request) Successful in 1m52s
7a0de26a95
Author
Owner

Code Review Summary

Чистый рефакторинг: удалён platform arg из create-changelog.ts (schema, валидация, форматирование), 6 platform-тестов удалены, раздел в skills/release/SKILL.md переписан под индустриальный стандарт. CI green, +23/-165 в 3 файлах.

Positives

  • create-changelog.ts — полное удаление без мёртвого кода: константы VALID_PLATFORMS/PLATFORM_NAMES убраны, buildVersionBlock сигнатура обновлена (platformsLabel параметр удалён), вызов на line 114 передаёт корректные args. Валидация platform и блок дедупликации убраны целиком — никаких висячих ссылок.
  • test_create_changelog_tool.py — все 6 platform-тестов удалены, docstring modes обновлён (убраны пункты про platform), test_loader_can_load_tool (line 89) больше не проверяет platform в args. Оставшиеся 13 тестов не ссылаются на platform, фикстуры VALID_VERSION/VALID_ADDED/VALID_FIXED и хелперы _run_exec/_run_loader/_write_changelog сохранены.
  • skills/release/SKILL.md — раздел переписан корректно: описывает pyproject.toml classifiers + README + min-версия ОС в ### Изменено только при повышении (паттерн yt-dlp). Пример вызова create-changelog (line 63) — без platform arg. Список «Тулза автоматически» (line 73) — пункт про **Платформы:** удалён.
  • PR hygiene — 4 heading'а (## Что сделано, ## Почему, ## Watch out, ## Pending) заполнены осмысленно, Closes #63 присутствует, ## Pending = — (допустимо). 3 коммита в conventional format (refactor(tools):, test(tools):, docs(release):).
  • Backward compat — arg был optional, omit уже валиден; явная передача platform теперь ошибка schema (задокументировано в ## Watch out как ожидаемое поведение, агенты должны обновить вызовы).
  • Cross-file impact — проверены oracle-скрипты (pipeline-status.py, project-status.py, spec-status.py) — ни один не парсит **Платформы:** и не ссылается на platform arg create-changelog. Связанных readers нет → paired update не требуется. Другие упоминания platform в репо (memory-doctor.ts:18 process.platform, spec/SKILL.md:136 enum-пример) — unrelated.

Suggestions (info, not blocking)

  • skills/release/SKILL.md:43 [docs] Единственное оставшееся упоминание platform — в пояснительном тексте «Тулза не имеет platform arg». Это полезно как migration note, но через 1-2 релиза можно убрать, когда агенты гарантированно обновят вызовы. Не блокирующее.
  • Watch out упоминает «Существующие CHANGELOG-секции с **Платформы:** (voice_assistant v0.1.0, video_uniq) не валидируются тулзой — ручная правка отдельными issues» — корректно отмечено как out-of-scope. Рекомендую убедиться, что эти issues заведены (или будут заведены) отдельно.

Verdict: APPROVE

## Code Review Summary Чистый рефакторинг: удалён `platform` arg из `create-changelog.ts` (schema, валидация, форматирование), 6 platform-тестов удалены, раздел в `skills/release/SKILL.md` переписан под индустриальный стандарт. CI green, +23/-165 в 3 файлах. ### Positives - **create-changelog.ts** — полное удаление без мёртвого кода: константы `VALID_PLATFORMS`/`PLATFORM_NAMES` убраны, `buildVersionBlock` сигнатура обновлена (`platformsLabel` параметр удалён), вызов на line 114 передаёт корректные args. Валидация platform и блок дедупликации убраны целиком — никаких висячих ссылок. - **test_create_changelog_tool.py** — все 6 platform-тестов удалены, docstring modes обновлён (убраны пункты про platform), `test_loader_can_load_tool` (line 89) больше не проверяет `platform` в args. Оставшиеся 13 тестов не ссылаются на `platform`, фикстуры `VALID_VERSION`/`VALID_ADDED`/`VALID_FIXED` и хелперы `_run_exec`/`_run_loader`/`_write_changelog` сохранены. - **skills/release/SKILL.md** — раздел переписан корректно: описывает pyproject.toml classifiers + README + min-версия ОС в `### Изменено` только при повышении (паттерн yt-dlp). Пример вызова `create-changelog` (line 63) — без `platform` arg. Список «Тулза автоматически» (line 73) — пункт про `**Платформы:**` удалён. - **PR hygiene** — 4 heading'а (`## Что сделано`, `## Почему`, `## Watch out`, `## Pending`) заполнены осмысленно, `Closes #63` присутствует, `## Pending` = `—` (допустимо). 3 коммита в conventional format (`refactor(tools):`, `test(tools):`, `docs(release):`). - **Backward compat** — arg был optional, omit уже валиден; явная передача `platform` теперь ошибка schema (задокументировано в `## Watch out` как ожидаемое поведение, агенты должны обновить вызовы). - **Cross-file impact** — проверены oracle-скрипты (`pipeline-status.py`, `project-status.py`, `spec-status.py`) — ни один не парсит `**Платформы:**` и не ссылается на `platform` arg `create-changelog`. Связанных readers нет → paired update не требуется. Другие упоминания `platform` в репо (`memory-doctor.ts:18` `process.platform`, `spec/SKILL.md:136` enum-пример) — unrelated. ### Suggestions (info, not blocking) - **skills/release/SKILL.md:43** [docs] Единственное оставшееся упоминание `platform` — в пояснительном тексте «Тулза не имеет `platform` arg». Это полезно как migration note, но через 1-2 релиза можно убрать, когда агенты гарантированно обновят вызовы. Не блокирующее. - **Watch out** упоминает «Существующие CHANGELOG-секции с `**Платформы:**` (voice_assistant v0.1.0, video_uniq) не валидируются тулзой — ручная правка отдельными issues» — корректно отмечено как out-of-scope. Рекомендую убедиться, что эти issues заведены (или будут заведены) отдельно. ### Verdict: APPROVE
slaid098 deleted branch refactor/tools/remove-platform-arg-create-changelog 2026-08-12 18:05:47 +03:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
slaid098/opencode-config!64
No description provided.