раскладка av-dev повышена с канона 12 до версии 5

- три плагина слились в один `av-dev`: служебные `docs/.docs.json` и
  `tasks/.tasks.json` заменены на `.av-dev.toml` в корне, в гейте переехали пути
  трёх скриптов, вызовы скиллов переименованы по всему репозиторию
- тип задачи `goal` и `ROADMAP.md` упразднены: семь целей закрыты с причинами,
  теги сняты, объявлена стадия `support`
- метка `small`/`medium`/`large` снята из процесса — вместо «Триггеров метки» в
  review.md подраздел «Когда звать глубокое ревью»; следом разобран урожай
  doc-consistency: девять фактов сведены к одному дому
This commit is contained in:
av
2026-09-02 09:55:28 +03:00
parent fc9a3b4066
commit 3bce73fc34
68 changed files with 178 additions and 327 deletions
+9 -9
View File
@@ -39,16 +39,16 @@
## Прочее
- Enum-поля (`state`, `kind`, …) — обычный `TEXT` без `CHECK`; допустимые
значения держит код (`internal/store`).
- Временные метки — `TEXT` в **RFC 3339, UTC (суффикс `Z`)**, напр.
`2006-01-02T15:04:05Z` (секундная точность). Фиксированная ширина сохраняет
лексикографическую сортировку TEXT = хронологию (`ORDER BY created_at`).
Единая точка генерации — приложение: `store.Now()` + `store.FormatTime`/
- Enum-поля — обычный `TEXT`/`INTEGER` без `CHECK`; допустимые значения держит
код (`internal/store`). Какие именно поля — [../database.md](../database.md) →
«Индексы и ограничения».
- Временные метки пишет приложение: `store.Now()` + `store.FormatTime`/
`ParseTime` (аналогично `ident.NewID` для id), а не дефолт в схеме — так
забытая вставка падает громко. Измерение длительности — не метка времени: у
внешних вызовов его засекает `logging.StartCall`. Таймзона отображения в
UI — конфиг `[general].timezone`.
забытая вставка падает громко. Формат и точность хранения —
[../database.md](../database.md); фиксированная ширина там выбрана затем, чтобы
лексикографическая сортировка TEXT совпадала с хронологией. Измерение
длительности — не метка времени: у внешних вызовов его засекает
`logging.StartCall`. Таймзона отображения в UI — конфиг `[general].timezone`.
- Миграции — goose (`internal/store/migrations`): SQL-файлы для DDL;
Go-миграции (`goose.AddMigrationContext`) — когда нужен код (генерация
id, backfill). При изменении структуры обновляем ER-схему