Миграция фреймворка
Иллюстративный разбор той работы, ради которой создан DWP: миграция, охватывающая десятки файлов и несколько часов — достаточно долгая, чтобы агент без направления потерял нить.
Цель
Одно большое изменение → упорядоченные задачи с воротами
Без плана
Как Deep Work Plan
- Задача 1
- Задача 2
- Задача 3
- Задача 4
- Задача 5
«Перевести слой данных со старого ORM на новый по всему сервису».
Без плана
Агент редактирует модели, пока его контекст не заполнится наполовину завершёнными изменениями, забывает, какие места вызова уже преобразовал, и оставляет сборку красной без записи о том, что осталось. Возобновление означает восстановление собственного хода мыслей из чат-лога.
Как Deep Work Plan
/dwp-create раскладывает цель на атомарные, упорядоченные задачи, каждую с критериями приёмки и validation gate:
- Ввести новый ORM рядом со старым (без изменения поведения; gate: сборка + тесты зелёные).
- Перевести модели и места вызова модуля A (gate: тесты модуля A зелёные).
- Повторить по каждому модулю, по одной задаче на каждый — прогресс фиксируется после каждой задачи.
- Удалить старый ORM и его прокладки (gate: ссылок не осталось; полный набор зелёный).
- Обновить документацию и README по модулям.
/dwp-execute выполняет задачи по порядку, делая коммит после каждого пройденного gate и обновляя PROGRESS.md. Если окно контекста сбрасывается на полпути, /dwp-resume читает план и прогресс с диска и продолжает со следующей неотмеченной задачи.
Результат
Миграция приземляется как последовательность небольших, пригодных для ревью, индивидуально проверенных коммитов — и переживает прерывания, потому что источником истины является план, а не разговор.