feat(skills): линия уместности начата shape-проходом до чтения диффа
- Зачем: - на прогоне #158 (clickstream v2) три линии ревью дали ноль находок на реальной ошибке формы: агрегация ключевого зерна в Python, 57 567 ключей через границу ClickHouse -> Airflow. Линза из одних запахов читает исполнение и не видит решений, а ревью от диффа принимает раскладку исполнителя как оглавление. - Что: - в line-taste.md добавлен блок Shape: набросок ожидаемой формы из одной постановки до открытия диффа, список недиктованных решений, вердикт каждому; набросок и список предъявляются как checks run даже при нуле находок. - правило оценки распространено на shape-находки; указатели в prompt-templates.md называют линзу формой и вкусом. - в lessons.md записана эмпирика прогона #158. - Проверка: - вычитка diff линзой writing-for-agents; боевая — следующий прогон конвейера: shape-артефакты видны в отчете линии уместности. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
586f02c30b
commit
3780ae0293
3 files changed
+61
-10
No files matched your search
@@ -389,3 +389,34 @@ codex-cli 0.146.0 и была неверна. Развели две провер
|
||||
- Цифры: два захода контрольных прогонов, промпт односложный («выполни
|
||||
`pwd`»), `model_reasoning_effort="low"`; отчёт `-o` — 46 байт в каждом,
|
||||
лог через канал — семь строк.
|
||||
|
||||
## 2026-08-27: три линии по нулям на ошибке формы (clickstream v2, #158)
|
||||
|
||||
Прогон DQ-контура: реализация Codex, линия уместности Fable, две слепые
|
||||
резервные линии. Все три дали ноль находок; ошибку увидел пользователь
|
||||
одним вопросом «почему DQ на Python, а не SQL».
|
||||
|
||||
- **Находка жила выше диффа.** Агрегация ключевого зерна шла в Python:
|
||||
57 567 ключей сессий ехали из ClickHouse в процесс Airflow ради
|
||||
суммирования. Код опрятный, ни один из двенадцати запахов не задет —
|
||||
линза, читающая код, пройти мимо была обязана.
|
||||
- **Промах не был бесплатным.** Та же граница была причиной саги с
|
||||
памятью: OOM планировщика в 640 МиБ, восемь ресурсных ручек в трех
|
||||
дагах. Ревью объяснило сагу теснотой коробки — гипотезой из
|
||||
постановки — и не спросило, почему задача, пишущая три десятка строк
|
||||
сводки, ест сотни мегабайт.
|
||||
- **Механизм промаха — порядок чтения.** Ревью от диффа принимает
|
||||
раскладку исполнителя как оглавление; внутри чужой рамки видно кривое
|
||||
имя, но не то, что раскладка не та. Фронтирный исполнитель пишет
|
||||
чистый код вокруг неверных решений: ошибки живут в форме, не в
|
||||
отделке — то же наблюдение, что в прогоне #18.
|
||||
- **Лечение — механизм, не правило в прозе** (класс отказа записан
|
||||
2026-07-31): в `line-taste.md` добавлен shape-проход шагами до чтения
|
||||
диффа — набросок ожидаемой формы из одной постановки, список
|
||||
недиктованных решений, вердикт каждому. Артефакты предъявляются как
|
||||
checks run даже при нуле находок — слот уже был в
|
||||
`review-boilerplate.md`. Запрет «не читай дифф первым» не
|
||||
произносится: его исполняет порядок шагов.
|
||||
- Проверить следующим прогоном: ловит ли shape-проход ошибку класса
|
||||
#158 и не сжигает ли ревьюер бюджет до диффа (граница «a few lines
|
||||
suffice»).
|
||||
Reference in new issue
Block a user