docs(adr): спеки в docs/specs, handoff'ы в .scratch/handoffs
- Зачем:
- воркфлоу эволюционировал: design-спекам нужен durable-дом, а handoff'ам —
стабильное место вместо эфемерного /tmp.
- Что:
- ADR-0002: design-спеки переезжают в docs/specs/YYYY-MM-DD-*.md (superseding ADR-0001).
- ADR-0003: handoff'ы — одноразовые леса́ в .scratch/handoffs/, коммитятся, уборка best-effort.
- ADR-0001 помечен как частично заменённый; AGENTS.md описывает место handoff'ов.
- Проверка:
- docs/adr/000{1,2,3} согласованы, перекрёстные ссылки рабочие.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# ADR-0003: Handoff'ы — одноразовые леса́ в `.scratch/handoffs/`
|
||||
|
||||
Принято: 2026-06-06
|
||||
Статус: accepted
|
||||
|
||||
## Решение
|
||||
|
||||
Handoff (документ «где остановился и как продолжить» для следующей сессии/агента)
|
||||
кладём в `.scratch/handoffs/YYYY-MM-DD-<slug>.md` и **коммитим**. Это одноразовые
|
||||
леса́, а не след решения: durable-рассуждение живёт в спеке (`docs/specs/`), ADR и
|
||||
истории коммитов, поэтому handoff можно удалять без потери трассы. Уборка —
|
||||
**best-effort** (`git rm`, когда вспомнил или перед важным мержем), без
|
||||
обязательной дисциплины и пост-процессов.
|
||||
|
||||
## Контекст
|
||||
|
||||
Раньше handoff жил в `/tmp` — слишком эфемерно (не переживает ребут/смену машины).
|
||||
Рассматривали гитигнор `.scratch/handoffs/`, но он отпал по двум причинам
|
||||
владельца: разработка **на нескольких машинах** (гитигнор не синхронизируется) и
|
||||
планируемые **git worktrees** (untracked-файл виден только в одном worktree).
|
||||
Оба требования требуют коммита. «Закоммичено на ветке, но автоматически не в
|
||||
master» git без машинерии (CI-гейт) не даёт; засорение `.scratch/` считаем мягким,
|
||||
т.к. это некурируемый «ящик» (читатель туда не ходит — см. ADR-0001).
|
||||
|
||||
## Последствия
|
||||
|
||||
- Carve-out из ADR-0001 «`.scratch/` коммитим целиком»: гитигнор не вводим, но и не
|
||||
обязаны вычищать handoff'ы — они одноразовые. Курируемый скретч (если будет)
|
||||
по-прежнему коммитится.
|
||||
- Расположение зафиксировано в `AGENTS.md`, чтобы скилл `handoff` писал туда.
|
||||
- Решение проекто-зависимое: для строгих/шаренных проектов без мультимашинности
|
||||
допустим opt-in на гитигнор или CI-гейт, блокирующий `.scratch/handoffs/` в PR в
|
||||
master. Здесь — коммит + best-effort.
|
||||
Reference in New Issue
Block a user