docs(skill): уроки прогона задачи 13 — эхо файла задачи и формат индекса
- Зачем:
- третий боевой прогон подтвердил рефакторинг «тонкого мастера»;
новые пожиратели контекста и слабое место Клод-ревьюера должны
остаться в эмпирике скилла.
- Что:
- lessons.md: запись прогона 2026-07-12/13 (находки этапов, три новых
пожирателя, цифры конвейера).
- prompt-templates.md: обёртка Клод-ревьюера требует однострочность
индекса (Клод-родословная держит формат хуже Codex).
- handoffs/: handoff разработки с открытыми вопросами (эхо файла
задачи, приём вердикта из уведомления, эксперимент medium).
- Проверка:
- вычитка; факты сверены с транскриптом прогона задачи 13.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f9ea5b8c44
commit
a4985b365d
3 files changed
+106
-2
No files matched your search
+47
@@ -0,0 +1,47 @@
|
||||
# Handoff разработки скилла: прогон задачи 13, эхо файла задачи и формат индекса
|
||||
|
||||
Дата: 2026-07-13. Контекст: третий боевой прогон конвейера (clickstream-demo,
|
||||
задача 13 «глагол next-day»), первый после рефакторинга «тонкого мастера»
|
||||
(коммит `f9ea5b8`) и поглощения уроков задачи 20.
|
||||
|
||||
## Итог прогона для скилла
|
||||
|
||||
Рефакторинг подтверждён боем: все поглощённые уроки сработали (вердикты по
|
||||
одному чтению, cat-сборка промптов, английский обмен, стоп-кран диагнозов,
|
||||
будильники одной строкой). Полная эмпирика и цифры — в
|
||||
`references/lessons.md`, запись «Прогон 2026-07-12/13», здесь не дублируются.
|
||||
|
||||
## Что изменено в скилле этим заходом
|
||||
|
||||
- `references/lessons.md` — запись прогона задачи 13 (находки этапов, три
|
||||
новых пожирателя контекста, цифры).
|
||||
- `references/prompt-templates.md` — обёртка Клод-ревьюера дополнена
|
||||
требованием однострочности индекса (boilerplate это уже требовал, но
|
||||
Клод-родословная держит формат хуже Codex) + пояснение, почему дубль.
|
||||
|
||||
## Открытые вопросы разработки
|
||||
|
||||
1. **Эхо файла задачи** — главный непоглощённый пожиратель: когда
|
||||
исполнитель правит файл, который мастер недавно писал сам, харнесс
|
||||
вкатывает мастеру весь файл (в прогоне — ~190 строк, текст тикета прошёл
|
||||
через мастера трижды). Варианты: резолюции исполнителя — отдельным
|
||||
файлом с переносом в тикет на финале (минус: лишний шаг и двойное место
|
||||
правды); писать тикет через fast-worker по списку решений (минус: список
|
||||
решений ≈ сам текст); принять цену и просто зафиксировать в SKILL.md
|
||||
предупреждением. Решения нет — обсудить с пользователем.
|
||||
2. **Проверить в следующем прогоне**, помогло ли напоминание об
|
||||
однострочности в обёртке Клод-ревьюера (если нет — думать про пример
|
||||
формата прямо в обёртке).
|
||||
3. **Кандидат в SKILL.md/шаблоны:** вердикты узких перепроверок Клода можно
|
||||
принимать из строки task-notification без чтения файла (обёртка и так
|
||||
требует финальным актом только VERDICT-строку) — в прогоне сэкономило
|
||||
одно чтение. Закрепить явно?
|
||||
4. **Эксперимент «worker на medium»** (память пользователя) так и не
|
||||
поставлен: реализация задачи 13 сознательно шла на high. Полигон-кандидат
|
||||
— маленькая задача про расписание next-day в clickstream-demo.
|
||||
|
||||
## Suggested skills
|
||||
|
||||
- `conventional-commits` — коммит этих правок в dotfiles.
|
||||
- `claude-subagent-playbook` — следующий боевой прогон (задача про
|
||||
расписание) с проверкой пункта 2.
|
||||
@@ -111,3 +111,54 @@ git (`git show HEAD:path`) + повторным наложением право
|
||||
**Цифры:** реализация ~25 мин; ревью постановки 75k токенов субагента,
|
||||
ревью кода 65k, перепроверка 80k (с новой находкой); приёмка — 4 прогона
|
||||
гейта по ~1,5 мин + красный сценарий; тесты 190 -> 192 + 21.
|
||||
|
||||
## Прогон 2026-07-12/13: clickstream-demo, задача 13 — глагол next-day
|
||||
|
||||
Первый прогон после поглощения уроков задачи 20 — они сработали: вердикты
|
||||
читались по одному разу, boilerplate не переписывался (cat из prompts/),
|
||||
обмен на английском, ноль инлайн-диагнозов мастера (стоп-кран держит),
|
||||
будильники одной строкой (9 взводов, ни один не сработал впустую — все
|
||||
сняты по уведомлениям).
|
||||
|
||||
**Что поймал каждый этап:**
|
||||
- Двойное ревью постановки: пересечение 5 тем из ~15 (guard, идемпотентность,
|
||||
атомарность, формат цепочки, проверки). Уникальное: Клод — «next-day =
|
||||
новый режим запуска, постановка прячет основную работу за словом
|
||||
„переиспользует"»; Codex — «расписание запустит дефолтный backfill»
|
||||
(скоуп-решение: расписание вынесено отдельной задачей).
|
||||
- Слепые ревью кода: пересечение 1 тема из ~12 (нулевой стык). Codex —
|
||||
дефекты нового скрипта (хвост за границей, TZ), Клод — архитектура
|
||||
(retention Kafka против пересборки счётчиков — блокер будущей задачи,
|
||||
скрытая связка наборов настроек). Родословные разошлись почти полностью.
|
||||
- Эмпирика исполнителя: требование обоих ревью («громкий отказ на нулевом
|
||||
стыке») покраснело на честном стенде — ночной провал трафика, снова класс
|
||||
«артефакт верификатора». Диагноз по данным делегирован исполнителю тем же
|
||||
тредом (state на границе: 0 активных визитов — restore ни при чём).
|
||||
Урок: требование ревьюеров сверяй с критериями приёмки и реальным
|
||||
распределением данных, прежде чем принять его в код.
|
||||
- Узкая перепроверка Codex снова принесла новый MAJOR (микросекунды в
|
||||
UTC-нормализации) — второй прогон подряд, считать штатным режимом.
|
||||
|
||||
**Новые пожиратели контекста мастера, по убыванию:**
|
||||
1. Эхо файла задачи: исполнитель дописал резолюции в тикет, который мастер
|
||||
сам писал на этапе 2, — харнесс вкатил в контекст все ~190 строк; итого
|
||||
текст тикета прошёл через мастера трижды (Write + эхо + финальное
|
||||
чтение). Не поглощено; митигация неочевидна — резолюции проекту нужны
|
||||
именно в тикете. Держать в уме при выборе, кто пишет файл задачи.
|
||||
2. Клод-ревьюер держит формат индекса хуже Codex: многострочные находки и
|
||||
развёрнутые confirmations при жёстком boilerplate («one-phrase essence»).
|
||||
Поглощено: обёртка Клод-ревьюера в prompt-templates дополнена
|
||||
напоминанием об однострочности.
|
||||
3. Авторство решений этапа 2 — у мастера по определению (110 строк
|
||||
кириллицы в тикет после двойного ревью постановки): это цена этапа, на
|
||||
мелких задачах конвейер не разворачивать (правило уже в SKILL.md,
|
||||
теперь с ценником).
|
||||
|
||||
Дешёвый приём: вердикт перепроверки Клода взят из строки task-notification
|
||||
(обёртка требует финальным актом только VERDICT-строку) — файл не читался.
|
||||
|
||||
**Цифры:** конвейер ~2 часа от ревью постановки до приёмки; реализация
|
||||
~30 мин; Клод-субагенты: ревью постановки 94k, кода 108k, перепроверка
|
||||
126k токенов; Codex-ревью: 42/36 команд; 2 круга триажа + узкий диагноз;
|
||||
тесты 192 -> 204 + 21 -> 31; учебный цикл: DM 322 -> 10 026 -> 19 196 за
|
||||
два next-day.
|
||||
@@ -85,10 +85,16 @@ will run it before the reviews start.
|
||||
Read {{path to review-prompt.md}} and execute it. Working directory:
|
||||
{{repo root}}. Write the full findings index to
|
||||
{{$D/review-claude.md}} — it is outside the repo, so the mandate allows
|
||||
it (via Write or a Bash heredoc, whichever you have). Final message:
|
||||
ONLY the VERDICT line, severity counters and the file path.
|
||||
it (via Write or a Bash heredoc, whichever you have). Keep the index
|
||||
strict: ONE line per finding and per confirmation, as the boilerplate
|
||||
demands — no multi-line entries. Final message: ONLY the VERDICT line,
|
||||
severity counters and the file path.
|
||||
```
|
||||
|
||||
(Однострочность продублирована в обёртке не случайно: boilerplate это уже
|
||||
требует, но Клод-родословная держит формат хуже Codex — эмпирика
|
||||
2026-07-12/13, многострочные находки и развёрнутые confirmations.)
|
||||
|
||||
```markdown
|
||||
# Code review: {{ticket NN — essence}}
|
||||
|
||||
|
||||
Reference in new issue
Block a user