Политика версий и совместимости
Эта страница нужна для одного практического командного решения: что мы стандартизируем и насколько сильное это обещание?
Выбор за 60 секунд
- читайте эту страницу, когда команде нужен один компактный policy doc про релизы, wrappers, SDK, runtimes и promises совместимости
- читайте Границу поддержки, когда нужен самый короткий практический ответ про поддержку
- читайте Релизы, когда нужна история конкретного релиза
Публичный baseline
Полезно думать о стандартизации в трёх слоях:
- release line, которую вы выбираете между repo
- support level path внутри этой release line
- install или delivery mechanism вокруг этого path
Эти слои связаны, но они не взаимозаменяемы.
Recommended lanes и formal tiers
Используйте одну и ту же простую трансляцию между docs и policy:
Recommendedобычно означает promotedpublic-stableproduction pathAdvancedозначает поддерживаемую surface с более узким или специализированным контрактомExperimentalозначает opt-in churn вне нормального compatibility expectation
Главные recommended paths сегодня:
Codex runtime GoCodex packageGemini packagingGemini Go runtimeClaude default stable lanePythonиNodelocal runtime paths как поддерживаемый и рекомендуемый non-Go authoring choice на поддерживаемых target'ах
Что именно покрывает совместимость
Самое сильное публичное обещание относится к:
- заявленному публичному CLI contract
- рекомендуемому Go SDK path и перечисленным выше recommended production paths
- рекомендуемым локальным Python и Node runtime paths на поддерживаемых target'ах
- задокументированному поведению
public-stablegenerated outputs
Совместимость не означает, что каждый wrapper, convenience path или специализированная surface движутся с одинаковой силой обещаний.
Публичный язык и формальные термины
Используйте такую трансляцию, когда говорите с командой:
Recommendedобычно означает, что path находится внутри самого сильного текущегоpublic-stableконтрактаAdvancedозначает, что surface поддерживается, но уже или специализированнее первого defaultExperimentalозначает opt-in churn без нормального compatibility expectation
Когда команде нужен точный policy layer, используйте формальные термины public-stable, public-beta и public-experimental.
Wrappers, SDK и runtime APIs
Не стандартизируйте эти категории так, будто это одно и то же.
- Homebrew, npm, PyPI и verified script - это install channels для CLI
- Go SDK - это публичная SDK surface
- runtime APIs привязаны к своим declared runtime paths
Если относиться к install wrappers так, будто они несут то же обещание, что SDK или runtime path, команда стандартизирует не тот слой.
Что командам стоит стандартизировать
Здоровые команды обычно стандартизируют:
- одну явную release baseline
- один основной path с понятной support story
- один validation gate перед handoff и rollout
- одно общее понимание формальных compatibility terms
Финальное правило
Стандартизируйте только ту release line и тот path, чьё публичное обещание команда действительно готова защищать в CI, handoff и rollout.