diff --git a/docs/superpowers/plans/2026-06-25-source-edit-unblock-snapshot-routing.md b/docs/superpowers/plans/2026-06-25-source-edit-unblock-snapshot-routing.md index 02dbde2c..b6fcafcd 100644 --- a/docs/superpowers/plans/2026-06-25-source-edit-unblock-snapshot-routing.md +++ b/docs/superpowers/plans/2026-06-25-source-edit-unblock-snapshot-routing.md @@ -24,7 +24,11 @@ - ✅ **Task 2.7** (страховка двойного списания) — `b7379e7a`. Под флагом ВКЛ CSV+webhook одного лида → 1 deal/charge (§9b project_id сходится). - ✅ **Task 2.4** (отложенное удаление донора) — `35d51df6`. `DeleteSupplierProjectJob.hasActiveSnapshotTail` откладывает удаление пока летит хвост слепка. - 🟢 **ЭПИК 2 ЗАКРЫТ.** Полная регрессия: 66 passed / 1 skipped / 0 failed (LeadRouter+доставка+guard+sync+billing+delete). Все правки за флагом `routing_match_by_snapshot` (дефолт ВЫКЛ) — прод не меняется до включения. -- ⬜ Осталось: **Эпики 1** (read-only поля), **3** (UX баннеры/подтверждение вместо замка), **4** (онлайн-заморозка 18:00→00:00), **5** (отчёт заливки), **6** (уведомления правил клиенту). +- ✅ **Эпик 1** (read-only поля) — `b1fe11b7`. ProjectResource уже отдавал source_locked/unlock_at/projected; добавлено 3-е состояние (пауза в grace). +- ✅ **Эпик 3** (UX вместо замка) — `7337bd23`. Поля источника больше не disabled; баннер applies-from при правке количества/региона/дней; диалог подтверждения смены источника. 26/26 фронт-тестов. +- ✅ **Эпик 4** (онлайн-заморозка) — `9d703ccb`. SyncSupplierProjectJob в окне 18:00→00:00 МСК откладывает в supplier_deferred_sync; FlushDeferredOnlineSyncJob (00:05) досылает. Схема v8.54 +1 таблица, RLS-ревью пройдено. 6 тестов + регрессия 33/33. +- ⏸ **Эпик 5** (отчёт заливки) — ЖДЁТ решения владельца по формату (письмо vs экран vs оба) — план гейтит на подтверждении. +- ⬜ **Эпик 6** (уведомления правил клиенту) — тексты в плане, не начат. - ⚠️ Локальный larastan даёт окруженческий шум (ide-helper/Pest stubs) — не блокер кода, см. память `feedback_ide_helper_broken_stub_fresh_checkout`. Новые тест-файлы добавлены в baseline (Pest/Mockery higher-order). На сервере сборки чисто. ---