канон: «почему» больше не отправляется в architecture.md

Три документа — CLAUDE.md, паспорт и openspec/config.yaml — велели писать
причину отвергнутого решения в architecture.md. По канону дом «почему» это
design.md изменения и промоут в docs/adr/, а architecture.md переезд как раз
опустошает: обоснования шли ровно туда, откуда их вычищают.

Раздел «Процесс» в CLAUDE.md пересказывал шаги пайплайна дословно — тот же
второй дом, что уже вычищен из config.yaml. Осталось три вещи, которые
действительно проектные: автономность, prior art, «поток не останавливается».

config.yaml пересказывал паспорт и инвариант безопасности — стали ссылками.

docs/review.md ссылался на healthlog-review-rubric и healthlog-task-pipeline,
удалённые вместе с проектными копиями. Первое — указание на будущее, поэтому
исправлено на проходы rubric и ops; второе оставлено историей с пометкой.

README.md называл architecture.md домом «принятых решений» и не упоминал
database.md и adr/ вовсе.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
av
2026-08-03 17:31:12 +03:00
co-authored by Claude Opus 5
parent d79189be18
commit 893d63d929
5 changed files with 54 additions and 62 deletions
+2 -1
View File
@@ -120,7 +120,8 @@ HAE), а сырой архив получает право быть подчищ
> **Развилка или вопрос — сперва prior art.** Прежде чем проектировать своё,
> посмотреть, как это сделано в проектах ниже и в интернете. Готовое решение
> либо берётся, либо отвергается **с названной причиной** — и тогда причина
> идёт в [architecture.md](architecture.md), а не теряется.
> идёт в `design.md` изменения, а оттуда промоутом в [adr/](adr/README.md),
> а не теряется.
Формулировка «у всех так, а у нас иначе, потому что…» — это готовое
обоснование решения. Формулировка «я придумал вот так» — ещё нет.
+4 -2
View File
@@ -191,7 +191,7 @@
«`import + replay` даёт то же состояние» ни один из них не проверял на
конкретном правиле: он записан в архитектуре как свойство системы, а не как
критерий для каждого узла, читающего состояние.
- **Что меняем:** в рубрику `healthlog-review-rubric` и в проход `ops` — вопрос
- **Что меняем:** в проходы `rubric` и `ops` — вопрос
«читает ли узел состояние, которое сам же меняет, и остаётся ли он функцией
от префикса журнала». Дешевле правила: любой запрос к `delivery` из свёртки
обязан иметь границу по `received_at` разбираемой доставки. Тест сходимости
@@ -227,7 +227,9 @@
## 2026-08-02 — чекпоинт кода прошёл без трёх проходов, и ровно они нашли всё [проскочил]
- **Где:** конвейер, а не код: коммит `f8200f7` («тренировки и записи с
собственным `id`»), шаг 7 скилла `healthlog-task-pipeline`, профиль `deep`.
собственным `id`»), шаг 7 пайплайна задачи (тогда — проектная копия
`healthlog-task-pipeline`, ныне `av-dev-pipeline:task-pipeline`), профиль
`deep`.
- **Симптом:** изменение было закоммичено и заархивировано как прошедшее ревью.
Дозапуск трёх пропущенных проходов на **уже закоммиченном** коде дал девять
причин, семь из которых пошли в работу с прогнанными оракулами: скелет из