старший долг: развилка тремя основаниями, вопросы тем, версия раскладки 5
Третий заход по находкам ревью — то, что старше темы 78 и тянулось с тем 74–77. Оснований у развилки три во всех местах: конвейер называл два, а устав триажа, контракт находок, сценарий решения и журнал — три. Там же сказано, чем третье отличается: по первым двум оркестратор урезает изменение до остатка, третье отменяет одобрение и возвращает на чекпоинт. Вопросы проекта по темам достались проходам, которые эти темы закрывают: review-code, review-specs и review-autotests получили обязанность отвечать дословно и строку в блоке покрытия. Прежде конвейер обещал их каждому проходу, а знал о них только приёмник тем. Глубокое ревью приведено к уставам, которые зовёт: глубина у проходов разная — доказательство у тех двоих, что держат машину, разбор у architecture и code; у триажа три вызывающих, а не два режима, и потолка в 7 пунктов там нет. Версия раскладки поднята до 5 с записью журнала: скелет docs/review.md потерял подраздел «Триггеры метки» ещё темой 77, а миграции проектам никто не дал. Сняты остатки меток в task-track и в config-skeleton, уезжающем в чужой проект. Перечень осей досчитал три оси: глубина темы, разметка действия, род правки. Журнал — тема 81.
This commit is contained in:
@@ -244,20 +244,22 @@ stateDiagram-v2
|
||||
**напоминает** — беклог, заведённый до появления типа, законен, и переоформлять
|
||||
его «заодно» здесь не просят.
|
||||
|
||||
**Тип не выбирает метку ревью и глубину проверки.** Профиль выбирается по факту
|
||||
изменения, а не по типу задачи: `chore` бывает миграцией схемы, `fix` — правкой
|
||||
публичного контракта. Правило «предписание процесса в теле задачи снимается»
|
||||
типом не отменяется, а подтверждается: он описывает работу, а не то, как её
|
||||
проверять. **Стадия проекта их тоже не выбирает**: изменение на стройке ничем не
|
||||
проще того же изменения на доработке, и метку ему по-прежнему назначает разметка.
|
||||
**Тип не выбирает состав ревью и глубину проверки — и не выбирает их больше
|
||||
никто.** Состав прогона постоянный: он один и тот же на всякой задаче
|
||||
(`av-dev:code-review`, «Состав прогона»). Прежде состав считала метка `small` ·
|
||||
`medium` · `large`, и тогда эта строка отвечала на живой вопрос «не задаёт ли её
|
||||
тип»; метки нет, и вопрос снят вместе с ней. Правило «предписание процесса в теле
|
||||
задачи снимается» типом не отменяется, а подтверждается: он описывает работу, а
|
||||
не то, как её проверять. **Стадия проекта состава тоже не выбирает**: изменение
|
||||
на стройке ничем не проще того же изменения на доработке.
|
||||
|
||||
**Одно исполнителю тип всё же говорит — каким сценарием работу вести, и то не
|
||||
один.** Скилл `av-dev:code-resolve` выбирает сценарий связкой из двух
|
||||
признаков: тип **предлагает** (`chore` — обслуживание, `research` — разведка),
|
||||
а подтверждает его предмет работы — есть ли что менять в спеках. Признаки
|
||||
разошлись — работа останавливается, и тип меняется здесь, командой `edit --type`,
|
||||
а не переклеивается исполнителем по ходу. Метку и глубину это по-прежнему не
|
||||
задаёт: их называет разметка изменения, а на прогоне без change — сам сценарий.
|
||||
а не переклеивается исполнителем по ходу. Состава ревью это по-прежнему не
|
||||
задаёт: он постоянный, а на прогоне без change его называет сам сценарий.
|
||||
|
||||
## Как написана задача
|
||||
|
||||
@@ -567,9 +569,9 @@ python3 $tk adopt scan --from … --stage S | apply --plan … # разова
|
||||
**каждая давать видимую пользу**, а у штурма исход «выкинуть» — полноправный.
|
||||
|
||||
Там же **шов**: где резать, когда допустимых мест несколько. Коротко — по
|
||||
границе, которая одна поднимает метку ревью выше остальных; и не резать, когда
|
||||
обе половины остаются в одной метке, потому что несокращаемый костяк проверок
|
||||
платится за каждую задачу отдельно.
|
||||
границе, где **меняется род работы**; и резать пореже, потому что костяк ревью
|
||||
разрез удваивает **всегда** — состав прогона постоянный и от размера половин не
|
||||
зависит. Выигрыш даёт не проверка, а то, что половина доводится и мерджится сама.
|
||||
|
||||
### Вычитка: два прохода, а не один
|
||||
|
||||
@@ -633,9 +635,10 @@ python3 $tk adopt scan --from … --stage S | apply --plan … # разова
|
||||
- **свойство репозитория в рамках** — номер миграции, хеш, версия зависимости:
|
||||
в лежалой задаче протухает молча и становится ложной рамкой. Снимается;
|
||||
снимок берётся при постановке, а не при заведении;
|
||||
- **предписание процесса в теле** — «делать с такой-то меткой ревью», «взять
|
||||
такой-то агент»: это второй дом для правила выбора и путь понизить требования
|
||||
решением, принятым до проектирования. Снимается;
|
||||
- **предписание процесса в теле** — «прогнать глубоким ревью», «взять такой-то
|
||||
агент», «этой задаче хватит короткой проверки»: это второй дом для правила
|
||||
выбора и путь понизить требования решением, принятым до проектирования.
|
||||
Снимается;
|
||||
- **тип, разошедшийся с задачей** — задача заводилась починкой, а после разбора
|
||||
оказалось, что поведение никогда и не было заявлено: это `feature`, а не `fix`.
|
||||
Правится `edit <slug> --type …`; тип, оставшийся от прошлой формулировки, врёт
|
||||
|
||||
Reference in New Issue
Block a user