docs: поправлен маркер канона и записано правило о живом прогоне
- architecture.md: маркер над таблицей компонентов ссылался на несуществующую capability delivery; теперь на intake, pipeline и storage, и названо непереехавшее — приём из Telegram и деление текста по словам. - review.md: проход, поднявший сервис, обязан его остановить, а меряющий — убедиться, что отвечает его сборка. Цена правила уже заплачена: оставленный процесс держал порт, и замеры ушли к прежней сборке.
This commit is contained in:
@@ -70,7 +70,7 @@
|
||||
|
||||
Каждый — строкой со ссылкой на capability, а не пересказом её требований.
|
||||
|
||||
<!-- канон: поведение → openspec/specs/intake, delivery -->
|
||||
<!-- канон: поведение → openspec/specs/intake, pipeline, storage; ещё НЕ переехало: приём из Telegram, деление длинного текста по словам -->
|
||||
|
||||
| Компонент | Где | Что делает |
|
||||
| --- | --- | --- |
|
||||
|
||||
+13
-2
@@ -2,13 +2,24 @@
|
||||
|
||||
## Как настроен конвейер
|
||||
|
||||
Артефакты шести прогонов лежат в `openspec/changes/archive/<id>/review/`: у трёх
|
||||
Артефакты семи прогонов лежат в `openspec/changes/archive/<id>/review/`: у трёх
|
||||
ранних, начиная с `fix-http-handler-tests` 2026-08-11, это `triage.md`, у трёх
|
||||
поздних — `report.md`. Сверх них конвейер прогонялся 2026-08-13 на работе, шедшей
|
||||
поздних — `report.md`, у седьмого (`start-without-telegram-token` 2026-08-13) —
|
||||
снова `triage.md`. Сверх них конвейер прогонялся 2026-08-13 на работе, шедшей
|
||||
без своего изменения openspec; артефакта в архиве у тех прогонов нет, и урожай их
|
||||
виден только записями журнала ниже. Разделы ниже заведены наперёд по коду
|
||||
2026-08-11 и с тех пор правятся урожаем прогонов.
|
||||
|
||||
**Проход, поднявший сервис, обязан его остановить.** Живой прогон стал доступен
|
||||
2026-08-13 (см. «Недоступно проверке»), и первый же им воспользовался: враждебный
|
||||
проход поднял сервис на своём порту и оставил работать. Следующий прогон занять
|
||||
порт не смог, а его запросы молча ушли к чужому процессу — то есть замеры
|
||||
относились к прежней сборке, и по ним едва не был объявлен исход. Отсюда два
|
||||
правила, оба прозой и без механизации: **поднял — останови за собой**, а
|
||||
**меряющий убеждается, что отвечает его собственная сборка** (порт занят им,
|
||||
новое поведение видно в выводе). Признак дешёвый: если ожидаемого нового поля,
|
||||
метрики или строки нет вовсе — вероятнее всего, отвечает не твой процесс.
|
||||
|
||||
Что уже проверяет машина и о чём поэтому спрашивать не нужно — конвенция
|
||||
[conventions/go-linters.md](conventions/go-linters.md). Вопросы ниже — то, чего
|
||||
машина не проверяет; свойства, которые обязан проверять тест, — в «Типовых
|
||||
|
||||
Reference in New Issue
Block a user