Pilot slice: мінімальна одиниця міграційного виконання
Pilot — це не «половина міграції», а bounded перевірка конкретної source-to-target гіпотези. Виберіть один endpoint, job, adapter або інший observable flow, для якого можна назвати inputs, outputs, залежності, owner і stop condition.
Розділіть migration execution на підготовку, pilot, verification і рішення. До pilot потрібно мати migration discovery, compatibility assumptions і rollback path; інакше невеликий diff лише створює малий, але непередбачуваний ризик.
Branch і worktree як контроль межі
| Крок | Що зафіксувати | Навіщо |
|---|---|---|
| Baseline | revision, clean/known diff, доступні checks | мати точку порівняння |
| Branch | окрема назва й один pilot scope | не змішати migration з feature work |
| Worktree | ізольований шлях, owner і cleanup rule | зменшити перетин паралельних змін |
| Review | diff, affected paths, risk і evidence | зупинити scope drift до merge |
| Decision | GO, HOLD, NARROW або ROLLBACK | зробити результат явним |
Entry та exit gates pilot-зрізу
- Опишіть migration hypothesis і bounded affected area у task spec та migration plan.
- Створіть baseline revision і branch/worktree; не змішуйте незвʼязані зміни.
- Перевірте, що rollback trigger, owner і checkpoint відомі до першого edit.
- Виконайте лише погоджений slice та зберіть diff, focused checks і behavior evidence.
- Прийміть GO, HOLD, NARROW або ROLLBACK; розширення scope потребує нового рішення.
Коли pilot потрібно зупинити
- source baseline не відтворюється або critical input залишається Unknown;
- знайдено неописану зміну data format, configuration або side effect;
- behavior comparison не має observable oracle або виявляє discrepancy;
- rollback не може повернути code і state у визначену безпечну точку;
- diff виходить за bounded slice або потребує непогодженого dependency upgrade.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush