Files
dev-skills/decisions/52-validator-follows-file.md
T
av bf6a173115 журнал решений: разложен по теме на файл, метки решений стали номерами
- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель;
- буквенные метки решений заменены сквозными Р1–Р234, следствия получили
  префикс С при прежних номерах: схема букв выродилась до пятибуквенных и
  сломалась — `АЕАКЛ` была занята и темой 53, и темой 65;
- 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер
  означал тему, а слово стояло «решение», формулировка исправлена.
2026-08-13 12:40:56 +03:00

2.5 KiB

52. Валидатор поехал за файлом: у конвейера появился свой скрипт (2026-08-09)

Р200. Названный остаток закрыт, и закрыт он ценой первого скрипта в конвейере. Решение 51 отдало OpenSpec конвейеру и честно оставило хвост: проверка формы config.yaml и сторож версии остались в docs.py, потому что своего скрипта у пайплайна не было ни одного. Хвост оказался не косметическим — это ровно то состояние, против которого написан весь канон: у файла два владельца, один заводит, другой проверяет, и разойтись они могут молча. 252 строки переехали в av-dev-pipeline/skills/openspec/scripts/openspec.py; в docs.py от темы не осталось ни константы.

Переезд оплатился сразу, и не тем, чего ждали. Прежняя проверка требовала, чтобы context называл docs/passport.md и CLAUDE.md, безусловно — то есть на проекте без канона документов требовала ссылку на несуществующий файл. Пока проверка жила в скрипте канона, допущение «канон есть» было незаметным: скрипт канона запускают там, где канон есть. В скрипте конвейера то же допущение стало видно на первом же прогоне. Теперь адрес требуется только к документу, который в проекте есть, а его отсутствие идёт строкой «не проверялось» с названной ценой.

Что из этого следует

С177. Неявное допущение видно из другого дома, а не изнутри своего. «Канон есть» было верно всюду, где код лежал, и потому не читалось как допущение вовсе. Переезд — самый дешёвый способ его обнаружить: не разбор, а смена места, из которого на код смотрят.