3.2 KiB
3.2 KiB
Версионирование
Формат: SemVer
MAJOR.MINOR.PATCH
- MAJOR: несовместимые изменения API
- MINOR: новая функциональность (обратно совместимо)
- PATCH: исправления багов
CHANGELOG
Где хранить: CHANGELOG/
Правила:
- Каждая MAJOR версия → новый файл:
CHANGELOG/v1.0.md - Каждая MINOR версия → новый файл:
CHANGELOG/v1.1.md - PATCH дописывается в существующий файл
CHANGELOG/
├── v1.0.md # 1.0.0 → 1.0.5
├── v1.1.md # 1.1.0 → 1.1.3
└── v2.0.md # 2.0.0 → ...
Conventional Commits
Каждый коммит должен соответствовать формату:
<тип>[optional scope]: <описание>
[optional body]
[optional footer]
| Тип | Действие | Влияние на версию |
|---|---|---|
feat |
Новая функция | MINOR |
fix |
Исправление | PATCH |
BREAKING |
В теле или ! после типа |
MAJOR |
docs |
Документация | — |
refactor |
Рефакторинг | — |
test |
Тесты | — |
chore |
Обслуживание | — |
Agent Versioning (если используются агенты)
Каждый агент версионируется независимо от проекта по A.B.C.
Правила бампа
| Компонент | Когда меняется | Кто меняет |
|---|---|---|
| A (major) | Breaking change в публичном интерфейсе | EvolutionAgent |
| B (minor) | Новая capability (метод, роль, prompt) | EvolutionAgent |
| C (patch) | Внутренние правки, без изменения поведения | Сам агент (авто) |
Механика
- Агент запускается → вычисляет SHA256 checksum своего
__file__ - Сравнивает с хранимым checksum (в БД или в changelog файле)
- Не совпал → авто-бамп patch → запись в changelog → обновление checksum
- EvolutionAgent управляет minor/major бампами
Хранение
CHANGELOG/agents/<agent_name>.md
Формат:
# audit_agent Changelog
<!-- checksum: sha256hash -->
## 1.0.2 (2026-05-10)
- Fixed: описание исправления
## 1.0.1 (2026-05-09)
- Fixed: ещё одно исправление
## 1.0.0 (2026-05-08)
- Initial version
Разделение ответственности
| Аспект | Владелец | Где хранится |
|---|---|---|
| Версия проекта | SpecAgent (или человек) | project.yaml, CHANGELOG/v*.md |
| Версия агента | EvolutionAgent | AgentConfig.version (БД) |
| Changelog проекта | SpecAgent (или человек) | CHANGELOG/v*.md |
| Changelog агента | EvolutionAgent | CHANGELOG/agents/<name>.md |