язык: чекпоинт и синк вошли в словарь, опиниативный снят
Три слова жили в текстах, не входя в закрытый словарь правила 6, — то есть выглядели словарём, не будучи им. Решение по каждому своё. Чекпоинт и синк внесены с определением: первый называет плановый стоп, на котором ждут ответа, второй — сверку каждого документа канона с работой, с обязательным отрицанием по нетронутым. Русские замены обоих называют либо исход, либо обряд, но не саму работу. Опиниативный заменён на «проход с мнением» в 13 местах и добавлен к снятому рядом с конфляцией и гайдом. Копии правил пересобраны resync.py; версию канона это не двигает — в репозиторий проекта отсюда ничего не уезжает.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: review
|
||||
description: "Конвейер ревью изменения, устроенный по темам: документ проекта либо заводит тему ревью, либо питает чужую тему источником, либо процессный и в ревью не читается вовсе. Ядро тем — requirements, autotests, conventions, architecture, security, operations; список тем открытый, свои темы проект заводит документом. Разметка задачи идёт один раз, после propose: агент review-scope выводит размер и сложность, из их максимума — метка, и раздаёт темы проходам обеих стадий. Метка правит и ревью дизайна (small — только specs; medium — плюс rubric; large — плюс architecture), и ревью кода (small — гейт, спеки, код, триаж; medium — плюс приёмник тем; large — плюс доказательство: враждебные постановки, эксплуатационный постмортем, архитектурный проход на широком входе). Триаж обязателен всегда. Порядок прогона — граф зависимостей: гейт открывает опиниативные проходы, проходы с пометкой «держит машину» идут цепочкой, триаж — единственный сток. Проектная специфика приходит из документов канона av-dev-docs. Вызывается из скилла resolve — двумя стадиями: ревью дизайна до кода и ревью кода после apply. Третий вызов идёт от сценария обслуживания: без change и без метки, фиксированным планом (autotests, operations, плюс conventions, если тронут код), разметчик при этом не запускается."
|
||||
description: "Конвейер ревью изменения, устроенный по темам: документ проекта либо заводит тему ревью, либо питает чужую тему источником, либо процессный и в ревью не читается вовсе. Ядро тем — requirements, autotests, conventions, architecture, security, operations; список тем открытый, свои темы проект заводит документом. Разметка задачи идёт один раз, после propose: агент review-scope выводит размер и сложность, из их максимума — метка, и раздаёт темы проходам обеих стадий. Метка правит и ревью дизайна (small — только specs; medium — плюс rubric; large — плюс architecture), и ревью кода (small — гейт, спеки, код, триаж; medium — плюс приёмник тем; large — плюс доказательство: враждебные постановки, эксплуатационный постмортем, архитектурный проход на широком входе). Триаж обязателен всегда. Порядок прогона — граф зависимостей: гейт открывает проходы с мнением, проходы с пометкой «держит машину» идут цепочкой, триаж — единственный сток. Проектная специфика приходит из документов канона av-dev-docs. Вызывается из скилла resolve — двумя стадиями: ревью дизайна до кода и ревью кода после apply. Третий вызов идёт от сценария обслуживания: без change и без метки, фиксированным планом (autotests, operations, плюс conventions, если тронут код), разметчик при этом не запускается."
|
||||
---
|
||||
|
||||
# Конвейер ревью
|
||||
@@ -274,14 +274,14 @@ charter'а, а модель потом двигает калибровка, и
|
||||
а не как мнение.
|
||||
|
||||
**Самая дешёвая модель не используется ни на одном проходе, и это не экономия
|
||||
наоборот.** Дешёвая модель на опиниативном проходе даёт правдоподобные находки,
|
||||
наоборот.** Дешёвая модель на проходе с мнением даёт правдоподобные находки,
|
||||
которые триаж обязан опровергать оракулом, — а это самая дорогая операция
|
||||
конвейера. Механизируемая же работа здесь вынесена **ниже** модели: гейт,
|
||||
покрытие диффа, карта проекта — это скрипты проекта, они стоят ноль токенов.
|
||||
Дешёвому проходу просто не осталось работы.
|
||||
|
||||
Экономия достигается **не понижением модели, а тремя другими рычагами**, и все
|
||||
три применяются к каждому опиниативному проходу, а не к одному избранному.
|
||||
три применяются к каждому проходу с мнением, а не к одному избранному.
|
||||
|
||||
1. **Непуск.** `large` добавляет доказательство — запуск, замер, построенный
|
||||
путь — и стоит часов; `small` снимает приёмник тем. Что при этом перестаёт
|
||||
@@ -289,7 +289,7 @@ charter'а, а модель потом двигает калибровка, и
|
||||
2. **Вход.** `basics` идёт на верхней модели, но с узким входом: дифф и его
|
||||
окрестности, без карты проекта. На `small` сужаются и остальные: `specs`
|
||||
читает только дельта-спеку, `code` — только индекс конвенций.
|
||||
3. **Потолок.** Он есть у каждого опиниативного прохода и напечатан: `basics` — 2
|
||||
3. **Потолок.** Он есть у каждого прохода с мнением и напечатан: `basics` — 2
|
||||
находки на сверке и 4 на разборе; `code` — 3 технических и 2 конвенционных на
|
||||
`small`, 4 конвенционных выше; `specs` — 3 на `small`; `architecture` — 3;
|
||||
триаж — 7 в основном списке.
|
||||
@@ -441,12 +441,12 @@ flowchart TD
|
||||
— и очередь между ними была бы платой ни за что.
|
||||
|
||||
Рёбер два вида, и они разной природы. Путать их нельзя: первое про
|
||||
**осмысленность** (без плана задание не определено, на красном гейте опиниативный
|
||||
**осмысленность** (без плана задание не определено, на красном гейте проход с мнением
|
||||
проход не о чем), второе про **железо**.
|
||||
|
||||
| Ребро | Смысл | Между кем |
|
||||
|---|---|---|
|
||||
| **зависимость** | B не стартует, пока A не закончил, потому что без A задание B не определено | гейт → все опиниативные; все проходы → триаж |
|
||||
| **зависимость** | B не стартует, пока A не закончил, потому что без A задание B не определено | гейт → все проходы с мнением; все проходы → триаж |
|
||||
| **конфликт за ресурс** | A и B не держат машину одновременно; кто из них первый — неважно, направления у ребра нет | проходы, помеченные «держит машину» |
|
||||
|
||||
**План разметки — вход графа, а не его узел.** Он готов до того, как ревью кода
|
||||
@@ -692,7 +692,7 @@ change**: у работы, не меняющей поведения, дельт
|
||||
Слово «гейт» теперь значит ровно одно — барьер, который проект запускает; тема
|
||||
шире него ровно на «чего в гейте намеренно нет».
|
||||
|
||||
**Пока гейт красный — опиниативные проходы не запускаются.** Оркестратор чинит и
|
||||
**Пока гейт красный — проходы с мнением не запускаются.** Оркестратор чинит и
|
||||
перезапускает гейт. Исключение одно: отказ, унаследованный от базовой ветки
|
||||
(гейт проверяет это прогоном на базе) — тогда он фиксируется находкой и не
|
||||
блокирует.
|
||||
@@ -756,7 +756,7 @@ Recall темы `conventions` равен длине конвенций прое
|
||||
это направление `code → spec`: надо заметить **отсутствие** — тихий фолбэк,
|
||||
самодеятельный дефолт, проглоченную ошибку. У `code` это пропущенный дефект,
|
||||
который поедет в прод. Ни то ни другое не оставляет следа ни в отчёте, ни в
|
||||
границах покрытия; прочие опиниативные проходы держат `opus` из-за цены **ложных**
|
||||
границах покрытия; прочие проходы с мнением держат `opus` из-за цены **ложных**
|
||||
находок, эти двое — из-за цены пропущенных.
|
||||
|
||||
## Стадия 3 — Темы (`medium` целиком; `small` и `large` — только свои темы проекта)
|
||||
@@ -1051,7 +1051,7 @@ flowchart TD
|
||||
прогоне — поимённо, а не общим «метка ниже». Формулировка «не запускается
|
||||
ничего» была бы короче и была бы ложью: гейт запускает инструменты проекта, а
|
||||
триаж проверяет оракул `critical`/`major` запуском — оба идут при любой метке.
|
||||
Не проверяется **опиниативным** проходом: построенный путь атаки (его надо
|
||||
Не проверяется **проходом с мнением**: построенный путь атаки (его надо
|
||||
прогнать), поведение библиотеки и драйвера в вырожденном случае (достаётся только
|
||||
экспериментом), любое число — время удержания блокировки, пик кучи, темп роста
|
||||
журнала, стоимость на годовой истории. `basics` задаёт часть тех же вопросов
|
||||
|
||||
Reference in New Issue
Block a user