From 4c87220d90f7efd66dfa01ddfb669a2fa4c03e83 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Thu, 13 Aug 2026 19:15:57 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=20=D0=BC=D0=B0=D1=80=D0=BA=D0=B5=D1=80=20?= =?UTF-8?q?=D0=BA=D0=B0=D0=BD=D0=BE=D0=BD=D0=B0=20=D0=B8=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=BE=20=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=D0=BE=20=D0=BE=20=D0=B6=D0=B8=D0=B2=D0=BE=D0=BC=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B3=D0=BE=D0=BD=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - architecture.md: маркер над таблицей компонентов ссылался на несуществующую capability delivery; теперь на intake, pipeline и storage, и названо непереехавшее — приём из Telegram и деление текста по словам. - review.md: проход, поднявший сервис, обязан его остановить, а меряющий — убедиться, что отвечает его сборка. Цена правила уже заплачена: оставленный процесс держал порт, и замеры ушли к прежней сборке. --- docs/architecture.md | 2 +- docs/review.md | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/docs/architecture.md b/docs/architecture.md index 482107f..c402fdd 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -70,7 +70,7 @@ Каждый — строкой со ссылкой на capability, а не пересказом её требований. - + | Компонент | Где | Что делает | | --- | --- | --- | diff --git a/docs/review.md b/docs/review.md index fb27d05..ee7b3cf 100644 --- a/docs/review.md +++ b/docs/review.md @@ -2,13 +2,24 @@ ## Как настроен конвейер -Артефакты шести прогонов лежат в `openspec/changes/archive//review/`: у трёх +Артефакты семи прогонов лежат в `openspec/changes/archive//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). Вопросы ниже — то, чего машина не проверяет; свойства, которые обязан проверять тест, — в «Типовых