Files
voidea/docs/versioning.md
T

58 lines
2.1 KiB
Markdown

# Версионирование
## Проект: SemVer
```
MAJOR.MINOR.PATCH
```
- **MAJOR**: несовместимые изменения API
- **MINOR**: новая функциональность (обратно совместимо)
- **PATCH**: исправления багов
CHANGELOG: `CHANGELOG/v1.0.md`, `CHANGELOG/v1.1.md` и т.д.
## Агенты: независимое A.B.C + SHA256
Каждый агент версионируется независимо по схеме **A.B.C**.
### Правила бампа
| Компонент | Когда меняется | Кто меняет |
|-----------|---------------|------------|
| **A (major)** | Breaking change в публичном интерфейсе | EvolutionAgent |
| **B (minor)** | Новая capability (метод, роль, prompt) | EvolutionAgent |
| **C (patch)** | Внутренние правки, без изменения поведения | Агент (авто) |
### Механика авто-детекта
1. Агент запускается → SHA256 своего `__file__`
2. Сравнивает с хранимым checksum в changelog файле (`<!-- checksum: ... -->`)
3. Не совпал → авто-бамп patch → запись в `CHANGELOG/agents/<name>.md` → обновление checksum
4. EvolutionAgent управляет minor/major бампами
### Changelog агента
```markdown
# audit_agent Changelog
<!-- checksum: e3b0c44298fc1c149afbf4c8996fb924 -->
## 1.0.2 (2026-05-10)
- Fixed: описание исправления
## 1.0.1 (2026-05-09)
- Fixed: ещё одно исправление
## 1.0.0 (2026-05-08)
- Initial version
```
### Разделение ответственности
| Аспект | Владелец | Где хранится |
|--------|----------|--------------|
| Версия проекта | SpecAgent / человек | `project.json`, `CHANGELOG/v*.md` |
| Версия агента | EvolutionAgent | `AgentConfig.version` (БД) |
| Changelog проекта | SpecAgent / человек | `CHANGELOG/v*.md` |
| Changelog агента | EvolutionAgent | `CHANGELOG/agents/<name>.md` |