|
14 | 14 | > | 4 — Finyk module migration | ✅ COMPLETE (5/5) | [#035](https://github.com/Skords-01/Sergeant/pull/1667), [#036](https://github.com/Skords-01/Sergeant/pull/1680), [#037](https://github.com/Skords-01/Sergeant/pull/1694), [#038](https://github.com/Skords-01/Sergeant/pull/1702), [#039](https://github.com/Skords-01/Sergeant/pull/1711) | — | |
15 | 15 | > | 5 — op-log v2 hardening | ✅ COMPLETE | [#040](https://github.com/Skords-01/Sergeant/pull/1717), [#041](https://github.com/Skords-01/Sergeant/pull/1721), [#043](https://github.com/Skords-01/Sergeant/pull/1734), [#043a](https://github.com/Skords-01/Sergeant/pull/1739), [#043b](https://github.com/Skords-01/Sergeant/pull/1743), [#043c](https://github.com/Skords-01/Sergeant/pull/1754), [#044](https://github.com/Skords-01/Sergeant/pull/1780), [#048](https://github.com/Skords-01/Sergeant/pull/1737), [#042a](https://github.com/Skords-01/Sergeant/pull/1769), [#042b](https://github.com/Skords-01/Sergeant/pull/1776), [#042c](https://github.com/Skords-01/Sergeant/pull/1787), [#042d-prep](https://github.com/Skords-01/Sergeant/pull/1804), [#042d-builder](https://github.com/Skords-01/Sergeant/pull/1810), [#042e-mapping](https://github.com/Skords-01/Sergeant/pull/1827), [#042e-submit](https://github.com/Skords-01/Sergeant/pull/1901), [#042e-drain](https://github.com/Skords-01/Sergeant/pull/1913), [#042e-lifecycle](https://github.com/Skords-01/Sergeant/pull/1922), [#042e-pushloop](https://github.com/Skords-01/Sergeant/pull/1926), [#042e-scheduler](https://github.com/Skords-01/Sergeant/pull/1932), [#042e-status](https://github.com/Skords-01/Sergeant/pull/1933), [#042e-recover](https://github.com/Skords-01/Sergeant/pull/1935), [#042e-flush](https://github.com/Skords-01/Sergeant/pull/1938) | — | |
16 | 16 | > | 6 — ops | ✅ COMPLETE | [#046](https://github.com/Skords-01/Sergeant/pull/1923) (pgBouncer), [#047](https://github.com/Skords-01/Sergeant/pull/1928) (read replica), [#048](https://github.com/Skords-01/Sergeant/pull/1737) (sync dashboard), [#049 docs](https://github.com/Skords-01/Sergeant/pull/1757), [#049b](https://github.com/Skords-01/Sergeant/pull/1964) (weekly backup-verify CI), #050 (`module_data` partition + archival) | #045 Redis (optional) | |
17 | | -> | 7 — cleanup | ⏳ in flight (3/4) | #051+#052a [`75dcdd5c`](https://github.com/Skords-01/Sergeant/commit/75dcdd5c) (drop `module_data` table + видалити v1 server `syncPush*`/`syncPull*` handler-и + `MODULE_DATA_MODULES` const); #052b [`a97b8cc8`](https://github.com/Skords-01/Sergeant/commit/a97b8cc8) ([#2046](https://github.com/Skords-01/Sergeant/pull/2046), web cloudSync engine tree drop); #052c — mobile cloudSync engine tree drop (in flight) | #053 (KVStore deprecate), #054 (final localStorage burndown) | |
| 17 | +> | 7 — cleanup | ⏳ in flight (4/4) | #051+#052a [`75dcdd5c`](https://github.com/Skords-01/Sergeant/commit/75dcdd5c) (drop `module_data` table + видалити v1 server `syncPush*`/`syncPull*` handler-и + `MODULE_DATA_MODULES` const); #052b [`a97b8cc8`](https://github.com/Skords-01/Sergeant/commit/a97b8cc8) ([#2046](https://github.com/Skords-01/Sergeant/pull/2046), web cloudSync engine tree drop); #052c [`20793adb`](https://github.com/Skords-01/Sergeant/commit/20793adb) (mobile cloudSync engine tree drop) | #053 (KVStore deprecate), #054 (final localStorage burndown) | |
18 | 18 | > |
19 | 19 | > **Per-PR scope and Done/Risk/Dep notes** живуть у §3 (PR plans) нижче — таблиця тут лише задля швидкого огляду landed-стану. **Boot-wiring** для `register{Routine,Fizruk,Nutrition,Finyk}DualWriteContext` залендив у [#1491](https://github.com/Skords-01/Sergeant/pull/1491) (Routine + Fizruk web/mobile) + per-module `useNutritionDualWriteBoot` / `useFinykDualWriteBoot` хуки (Nutrition + Finyk web + mobile через `NutritionApp.tsx` / `useStorage.ts`). |
20 | 20 | > **Status:** Active |
@@ -2184,9 +2184,9 @@ client_updated_at)` (Postgres requirement для partitioned tables). |
2184 | 2184 | - `enqueue.ts` (no-op) — лишається до PR #053 KVStore deprecate, бо `apps/web/src/shared/lib/storage/syncedKV.ts` все ще передає його в `createSyncedKVStore({onChange})`. |
2185 | 2185 | - App.tsx + useAppEffects.ts + OfflineBanner.tsx + MigrationPrompt UI **залишилися як є в #052b** — rewire винесено в окремий follow-up `chore(web): drop MigrationPrompt and detangle App.tsx cloudSync wiring` (PR #052b-followup), бо це vertical в App.tsx, що окремо рев'ювиться. |
2186 | 2186 |
|
2187 | | -#### **PR #052c — `chore(mobile): remove cloudSync v1 engine`** ⏳ IN FLIGHT |
| 2187 | +#### **PR #052c — `chore(mobile): remove cloudSync v1 engine`** ✅ LANDED |
2188 | 2188 |
|
2189 | | -- Mirror того самого drop у `apps/mobile/src/sync/`. Mobile `useCloudSync` |
| 2189 | +- Commit [`20793adb`](https://github.com/Skords-01/Sergeant/commit/20793adb) — mirror того самого drop у `apps/mobile/src/sync/`. Mobile `useCloudSync` |
2190 | 2190 | теж stub-нутий у попередньому Phase 5 client-cutover (Initiative 0003), |
2191 | 2191 | engine код лежить dead-code. |
2192 | 2192 | - Видаляється: `engine/` (buildPayload, pull, push, replay, retryAsync), |
|
0 commit comments