# docs/sessions/ — координация параллельных Claude-сессий **Источник правила:** Pravila §15.2 (раздел про CURRENT.md в конце текста §15.2). ## Назначение `docs/sessions/CURRENT.md` — заявочный лог активных параллельных Claude-сессий проекта. Решает класс инцидентов «нормативка/MEMORY дрейфует» (см. spec — `docs/superpowers/specs/2026-05-18-parallel-sessions-coordination-design.md`). ## Когда писать в CURRENT.md Перед **первой** нормативной правкой в сессии (правки файлов из списка §15.2 — Pravila, CLAUDE.md, Tooling, PSR_v1, MEMORY.md, Открытые_вопросы, docs/adr/*, db/schema.sql). Запись добавляется отдельным атомарным коммитом `sessions: claim ` — до plan-документа и до первой содержательной правки. ## Формат записи ``` ## session: YYYY-MM-DD- - branch: - worktree: - started: - scope-files: - [§/раздел/строка] - ... - version-claims: - : - ... - status: in-progress | closed- - closes: ``` `scope-files` — какие нормативные файлы и в каких секциях правит сессия. `version-claims` — какие новые версии (Tooling 2.X, Pravila 1.Y и т.п.) или номера (ADR-NNN) сессия резервирует. ## Жизненный цикл - **claim** — добавить запись со `status: in-progress` + атомарный коммит `sessions: claim `. - **check** — pre-flight перед нормативной правкой: `Read docs/sessions/CURRENT.md` + проверить пересечение `scope-files` / `version-claims` с активными записями. - **release** — на закрытии (после push на main) изменить `status: closed-` (запись остаётся в CURRENT.md — append-only-вариант). Closed-записи переезжают в `docs/sessions/archive/YYYY-MM.md` через ≥30 дней после закрытия (ручная архивация раз в месяц, не cron). ## Конфликт-резолюция | Тип пересечения | Реакция | |---|---| | Файловое пересечение (одинаковый файл, разные секции) | **soft-warn** — продолжать можно, но pre-flight fetch перед каждым коммитом обязателен (§15.2). | | Section-пересечение (одна и та же секция §X.Y) | **hard-stop** — координация с заказчиком до начала правки. | | Version-claim collision (две сессии заявили один номер) | **hard-stop** — кто claim'нул раньше (по `started`-timestamp), тот его и берёт. Вторая сессия сдвигается на +1. | ## Pre-flight snippet (для plan-документов и скила subagent-driven-development) ```bash # Перед нормативной правкой: git fetch origin && git log HEAD..origin/main --oneline grep -A 20 'status: in-progress' docs/sessions/CURRENT.md ``` ## Что мы НЕ делаем (явный YAGNI) - Pre-commit hook на CURRENT.md — добавим только если будут зафиксированы инциденты игнорирования. - TTL / auto-expire записей — добавим, если файл реально засорится. - Machine-readable JSON-формат — markdown достаточен, парсится grep/sed. - Интеграция с GitHub Issues — отдельная тема, не блокер.