docs: канон документов поднят с версии 12 на 14
- `docs/.pm.json` переименован в `docs/.docs.json`, версия канона — 14 - ADR принимает записку разведки как источник решения наравне с архивным `design.md` - заведён `tasks/.tasks.json`, а в описании гейта — шаги `tasks.py check` и `openspec.py check`
This commit is contained in:
@@ -78,18 +78,19 @@ task gate # весь набор проверок разом
|
||||
`origin/master`; переопределяется `task gate BASE=<rev>`.
|
||||
- **Где логи шагов:** вывод команды, отдельного файла нет.
|
||||
- **Что означает каждый исход:** ненулевой код любого шага роняет гейт. У
|
||||
`docs.py check` коды свои: 0 сошлось, 1 дрейф раскладки, 2 ошибка
|
||||
употребления, 3 не корень проекта, 4 внутренний сбой.
|
||||
`docs.py check`, `tasks.py check` и `openspec.py check` словарь кодов общий:
|
||||
0 сошлось, 1 дрейф, 2 ошибка употребления, 3 окружение (не корень проекта,
|
||||
каталог не найден), 4 внутренний сбой.
|
||||
- **Что красит безусловно и почему:** отказ сборки, тестов, `go vet`,
|
||||
неотформатированный файл, находка `golangci-lint`, дрейф раскладки документов.
|
||||
Всё перечисленное проверяется машиной и потому не обсуждается.
|
||||
неотформатированный файл, находка `golangci-lint`, дрейф раскладки документов,
|
||||
дрейф каталога задач, форма `openspec/config.yaml`. Машина проверяет всё
|
||||
перечисленное, и это не обсуждается. Шаг, чей скрипт не найден, краснеет с
|
||||
именем недостающего плагина, а не пропускается молча.
|
||||
- **Чего в гейте намеренно нет и кто тогда обязан это гонять:**
|
||||
- `gitleaks` — висит на pre-commit в `lefthook.yml` и смотрит только индекс
|
||||
коммита. Полную историю никто не проверяет;
|
||||
- согласованность документов между собой и с кодом — её судят агенты, зовёт
|
||||
их скилл `av-dev-docs:healthcheck`, и звать его надо руками;
|
||||
- проверка каталога задач и формы `openspec/config.yaml` — соответствующих
|
||||
плагинов в проекте нет, шагов в гейте нет, и не проверяет их **никто**;
|
||||
- покрытие изменённых строк не считается ничем.
|
||||
|
||||
**Гейт на `master` сегодня красный, и это объявленный долг, а не поломка дня.**
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"canon": 12,
|
||||
"canon": 14,
|
||||
"migrations": "migrations"
|
||||
}
|
||||
+4
-3
@@ -1,8 +1,9 @@
|
||||
# Журнал решений
|
||||
|
||||
Одна запись — одно решение. **ADR переносит решение из архивного `design.md`**, а
|
||||
не сочиняет его заново: запись цитирует решение и ссылается на
|
||||
`openspec/changes/archive/<id>/design.md`.
|
||||
Одна запись — одно решение. **ADR продвигает уже написанное решение, а не
|
||||
сочиняет его заново**: запись цитирует решение и ссылается на источник —
|
||||
`openspec/changes/archive/<id>/design.md`, а у решения, принятого разведкой без
|
||||
изменения, на её записку.
|
||||
|
||||
## Когда заводить
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
# Краткий заголовок решения
|
||||
|
||||
- **Дата:** ГГГГ-ММ-ДД
|
||||
- **Источник:** openspec/changes/archive/<id>/design.md
|
||||
- **Источник:** openspec/changes/archive/<id>/design.md — либо записка разведки,
|
||||
если решение принято без изменения
|
||||
|
||||
Статус ставится тем же полем и только при пересмотре:
|
||||
`- **Статус:** заменено на ADR-…` либо `- **Статус:** устарело`.
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"tasks": 1
|
||||
}
|
||||
Reference in New Issue
Block a user