Files
dev-skills/decisions/README.md
T
av e5dc0a1a39 язык: сняты «провенанс» и «интейк», назван образец стиля
Оба слова стояли в закрытом словаре правила 6 с оговоркой, и обе оговорки
отвергали один русский вариант, а вывод из них делался про все. Отсюда общее
требование к записи словаря: она обязана говорить, чем слово незаменимо, а не
чем плох один из кандидатов. Латинизм, переживший проверку одним синонимом, —
не имя вещи, а непроверенная привычка.

Провенанс заменён двумя словами, потому что смысла было два, и это же его и
держало: происхождение у числа (чем и при каких условиях получено) и откуда у
вопроса и находки (кто нашёл, каким проходом, из какой записи журнала). Слово
стояло и в скелете docs/review.md, уезжающем в репозитории проектов, поэтому
раскладка повышена до версии 4 с записью журнала: правка формы вопроса и
проход grep по docs/.

Интейк заменён заведением с названным источником — «из диалога», «из ревью».
Оговорка защищала слово от голого «заведения» и в этом была права, но в паре с
источником двусмысленности нет, а скилл задач уже называет операцию так же.
Раскладку это не двигает: слово жило только в прозе плагина.

Образец стиля назван прямо и отдельным разделом: научно-популярная книга, не
спецификация и не конспект для себя. Три умолчания — воды нет, сложных
конструкций нет, англицизм исключение с причиной. Находок образец не
порождает: он для того, кто пишет, а вычитка судит по правилам, иначе «звучит
сложно» стало бы находкой и порог правки перестал бы работать.

Журнал решений: темы 70 и 71, Р258–Р264 и С244–С249. Остальной словарь —
триаж, дедуп, чек-лист, дифф, промпт, чекпоинт, синк — не пересматривался, и
это сказано записью: пересмотр меняет язык всего корпуса и делается своей
работой, а не попутно.
2026-08-13 19:43:08 +03:00

126 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Решения по устройству процесса
Журнал согласований: что решено, почему и что из этого следует. Пишется по ходу
разбора тем, **одна тема — один файл**; этот файл — только указатель.
Три сквозные нумерации, и они не пересекаются:
- **Т** — требование: вход, который обязан быть удовлетворён. Живут здесь, ниже.
- **Р** — решение: что согласовано и почему. По темам в порядке журнала.
- **С** — следствие: что из решения вытекает.
Номер закреплён за записью навсегда: журнал описывает прошлые состояния и задним
числом не переписывается. Отсюда и разнобой формы — ранние темы держат решения
под заголовком «Решено», поздние ведут их прозой.
## Требования, зафиксированные по ходу
Не решения — вход, который обязан быть удовлетворён и разбирается в названной
теме.
**Т1. Адаптация и проверка проекта под канон — обязательный скилл.** Нужно уметь
прийти в **любой** старый проект и перевести его на текущие рельсы. Канон при
этом сам будет меняться, поэтому уже приведённые проекты тоже должны повышаться
до новых версий. *Разбирается в [теме 5](05-project-start-lifecycle.md) (старт и
жизненный цикл проекта).*
Следствия, которые из этого уже видны:
- **У канона обязана быть версия, а у проекта — отметка, под какую он
приведён.** Иначе «соответствует канону» не имеет определённого ответа:
сравнение идёт с тем, что модель помнит сейчас, а это и есть дрейф.
- **Журнал изменений канона — как миграции.** Каждое повышение версии несёт
запись «что добавилось, что переехало, что удалено, что сделать проекту». Без
него адаптация переизобретается на каждом проекте.
- **Отметка версии машиночитаема.** `.docs.json` отвергнут как *указатель
путей* (решение [Р6](02-project-doc-canon.md)), но отметка версии — другое:
её читает скрипт, и разбирать прозу `CLAUDE.md` для этого не нужно.
Прецедент — `.tasks.json`.
- **Операций три:** `check` (соответствие текущему канону), `adopt` (перевод
чужой раскладки), `upgrade` (повышение с версии N до M по журналу). Первая и
третья — одно сравнение с разными исходами.
- **Механизируемое и суждение не смешивать.** Скрипт проверяет пути, лишние
файлы, битые ссылки, версию. Агент судит о смысловых дублях (`docs/specs/
recognition.md` против capability `recognition`) и об оставшемся поведении в
`architecture.md`. Скрипт, отчитавшийся «канон соблюдён» на проекте с тремя
лишними файлами, хуже отсутствующего.
- **Границы плагинов:** `docs/tasks/` — часть канона документов, но владеет им
`av-dev-tasks` со своим `tasks.py adopt`. Два плагина сходятся на одном
каталоге. *[Тема 7](07-skills-layout-scripts.md).*
## Темы
| # | Тема | Дата |
|---|------|------|
| 1 | [Статус OpenSpec](01-openspec-status.md) | 2026-08-03 |
| 2 | [Канон документов проекта](02-project-doc-canon.md) | 2026-08-03 |
| 3 | [Брифа ревью нет — бриф это и есть канон](03-review-brief-is-canon.md) | 2026-08-03 |
| 4 | [Границы плагинов](04-plugin-boundaries.md) | 2026-08-03 |
| 5 | [Старт проекта и жизненный цикл под каноном](05-project-start-lifecycle.md) | 2026-08-03 |
| 6 | [Поддержание документов по ходу разработки](06-docs-upkeep.md) | 2026-08-03 |
| 7 | [Раскладка скиллов и доставка скриптов](07-skills-layout-scripts.md) | 2026-08-03 |
| 8 | [Порядок выката](08-rollout-order.md) | 2026-08-03 |
| 9 | [Линтеры скриптов](09-script-linters.md) | 2026-08-03 |
| 10 | [Ревью готовых плагинов двумя проходами](10-two-pass-plugin-review.md) | 2026-08-03 |
| 11 | [Зависимости между плагинами](11-plugin-dependencies.md) | 2026-08-03 |
| 12 | [Механическая проверка копий](12-mechanical-copy-check.md) | 2026-08-03 |
| 13 | [Секции `PLAN.md` переименованы](13-plan-sections-renamed.md) | 2026-08-03 |
| 14 | [Умолчания режимов прогона перевёрнуты](14-run-mode-defaults-flipped.md) | 2026-08-03 |
| 15 | [Порядок проходов ревью — граф зависимостей](15-review-pass-order-graph.md) | 2026-08-03 |
| 16 | [Каталог вместо файла в `docs/` — отложено до переезда healthlog](16-directory-instead-of-file.md) | 2026-08-04 |
| 17 | [Разбор заметок: ступень ревью, род работы, роадмап](17-notes-tier-work-kind-roadmap.md) | 2026-08-04 |
| 18 | [Ступень поднимает проход, а не риск](18-tier-raises-pass-not-risk.md) | 2026-08-04 |
| 19 | [Роадмап — состояние проекта, а не очередь работ](19-roadmap-is-state-not-queue.md) | 2026-08-04 |
| 20 | [Форма записи: заголовок, секции, вычитка](20-record-form-heading-sections.md) | 2026-08-04 |
| 21 | [Язык проектных текстов — информационный стиль](21-project-text-language.md) | 2026-08-04 |
| 22 | [Обкатка агента вычитки: имя, охват и «так везде»](22-wording-agent-trial.md) | 2026-08-04 |
| 23 | [Вычитка разделена на два прохода](23-wording-split-two-passes.md) | 2026-08-04 |
| 24 | [Обкатка двух проходов: два дефекта в собственных правилах](24-two-pass-trial-defects.md) | 2026-08-04 |
| 25 | [Секция `Сопровождение` и общий словарь трёх мест](25-maintenance-section-shared-vocab.md) | 2026-08-04 |
| 26 | [Канон 4: правка задним числом отменена](26-canon-4-retroactive-edit-cancelled.md) | 2026-08-04 |
| 27 | [Тип записи стал единственной осью и задаёт схему](27-record-type-single-axis.md) | 2026-08-05 |
| 28 | [Слаг подкреплён проверкой, обещанный судья заведён](28-slug-check-and-judge.md) | 2026-08-05 |
| 29 | [Обкатка `doc-consistency` на самом dev-skills](29-doc-consistency-trial.md) | 2026-08-05 |
| 30 | [`av-dev-backlog` удалён](30-av-dev-backlog-removed.md) | 2026-08-05 |
| 31 | [Ревизия покрытия `av-dev-pm` продакт-оптикой](31-pm-coverage-product-review.md) | 2026-08-05 |
| 32 | [Сквозной проход по словарю: пять слов сняты, девять закрыты списком](32-vocabulary-sweep.md) | 2026-08-05 |
| 33 | [Стоимость ревью: снят самый дорогой проход и самая дорогая модель](33-review-cost-cut.md) | 2026-08-06 |
| 34 | [Пропускная способность против глубины: тяжёлые проходы уехали в верхнюю ступень](34-throughput-vs-depth.md) | 2026-08-06 |
| 35 | [Ревизия моделей: переведены двое из девяти, и критерий оказался не тот](35-model-revision.md) | 2026-08-06 |
| 36 | [Темы ревью: документ проекта стал направлением проверки](36-review-topics-project-docs.md) | 2026-08-06 |
| 37 | [`gate` и `autotests` сведены к одному имени](37-gate-and-autotests-one-name.md) | 2026-08-07 |
| 38 | [Шов между плагинами: канон не называет имён проходов](38-plugin-seam-no-pass-names.md) | 2026-08-07 |
| 39 | [Спринт без цели — законный случай](39-sprint-without-goal.md) | 2026-08-07 |
| 40 | [Три категории документов: не всякий документ — тема ревью](40-three-doc-categories.md) | 2026-08-07 |
| 41 | [Разметка задачи: одна величина, посчитанная один раз](41-task-sizing-once.md) | 2026-08-07 |
| 42 | [`quick` стал дешевле `standard` тремя способами](42-quick-cheaper-than-standard.md) | 2026-08-07 |
| 43 | [Ревью дизайна тоже растёт ступенями](43-design-review-tiers.md) | 2026-08-07 |
| 44 | [Метка задачи: одно значение, по которому выбираются все ревьюверы](44-task-label-single-value.md) | 2026-08-07 |
| 45 | [Корректор метки, доля `small` и корпус оценки](45-label-corrector-small-share.md) | 2026-08-07 |
| 46 | [Правило выбора метки съехало из скилла в отдельный документ](46-label-rule-own-document.md) | 2026-08-07 |
| 47 | [OpenSpec заводится скиллом, а его конфиг — часть канона](47-openspec-setup-skill.md) | 2026-08-07 |
| 48 | [Форма чужого инструмента держится опросом инструмента, а не памятью](48-foreign-tool-form-by-query.md) | 2026-08-07 |
| 49 | [Дом общего правила вышел из плагина](49-shared-rule-home-outside-plugin.md) | 2026-08-09 |
| 50 | [Вычитка раздвоилась по плагину, а не по правилу](50-wording-split-by-plugin.md) | 2026-08-09 |
| 51 | [av-dev-pm расколот: владение пошло по тому, что ставится порознь](51-av-dev-pm-split.md) | 2026-08-09 |
| 52 | [Валидатор поехал за файлом: у конвейера появился свой скрипт](52-validator-follows-file.md) | 2026-08-09 |
| 53 | [`canon` и `docs` остаются двумя скиллами](53-canon-and-docs-two-skills.md) | 2026-08-09 |
| 54 | [Стык плагинов: правило получило дом, адреса остались у владельцев](54-plugin-seam-rule-home.md) | 2026-08-09 |
| 55 | [`task-pipeline` стал `resolve`: два плановых стопа вместо полной автономии](55-task-pipeline-becomes-resolve.md) | 2026-08-09 |
| 56 | [`av-dev-pipeline` → `av-dev-code`, `review-pipeline` → `review`](56-plugin-and-skill-renames.md) | 2026-08-09 |
| 57 | [Спринты отменены: приоритет стал порядком строк, `session` стал `groom`](57-sprints-cancelled-groom.md) | 2026-08-09 |
| 58 | [Судьи документов получили свой скилл — `healthcheck`](58-doc-judges-healthcheck.md) | 2026-08-09 |
| 59 | [Аудит четырьмя сабагентами: описания отстают от механики молча](59-four-subagent-audit.md) | 2026-08-09 |
| 60 | [Служебный файл зовётся по плагину-владельцу; у задач появилась своя версия формата](60-service-file-named-by-owner.md) | 2026-08-11 |
| 61 | [Разведка и решение — два сценария одного скилла, а не два скилла](61-research-and-solve-two-scenarios.md) | 2026-08-11 |
| 62 | [Вычитку зовёт тот, кто правил, а не тот, кто синкал](62-wording-called-by-editor.md) | 2026-08-11 |
| 63 | [Обслуживание — третий сценарий: у цикла SDD там нет входа](63-maintenance-third-scenario.md) | 2026-08-13 |
| 64 | [Три плагина слились в один: раскол платили, а не пользовались](64-three-plugins-merged.md) | 2026-08-13 |
| 65 | [Перечень осей получил дом; две оси жили без владельца](65-axes-registry-home.md) | 2026-08-13 |
| 66 | [`doc-canon` → `canon`: скилл формы вышел из семейства документов](66-canon-without-prefix.md) | 2026-08-13 |
| 67 | [Цель упразднена, у проекта появилась стадия](67-goal-removed-project-stages.md) | 2026-08-13 |
| 68 | [Постановка текстом — вторая полноправная форма входа](68-task-from-plain-text.md) | 2026-08-13 |
| 69 | [Счёт корпуса в прозе не пишется](69-corpus-count-not-written.md) | 2026-08-13 |
| 70 | [«Провенанс» снят из словаря: одного синонима мало для проверки](70-provenance-word-removed.md) | 2026-08-13 |
| 71 | [Образец языка назван прямо; «интейк» снят вслед за «провенансом»](71-language-model-popular-science.md) | 2026-08-13 |