Skip to content

Commit 7b144f9

Browse files
cognition-teamSkords-01
authored andcommitted
docs(docs): record 0011 PR 2.6 + 2.7 (DataState adoption) progress
Update initiative 0011 to reflect Phase 2 progress through 2026-05-04: - Status header bumped to include the four open <DataState> consumer PRs: 2.4 #1703 (finyk), 2.5 #1709 (fizruk), 2.6 #1713 (nutrition), 2.7 #1714 (routine). Last-validated handle aligned with the actual initiative owner (@Skords-01). - Phase 2 table column 'Файли (приклад)' renamed to 'Файли (фактичні споживачі)' and ETA column replaced with Status (PR-link). Rows for 2.4–2.7 now point at the actual landed targets, not the initial guess names from the proposal draft (MonoTransactionsPanel, WorkoutHistoryPanel, NutritionMealsPanel, RoutineList, etc. — none of those components physically exist in the repo). - New explanatory note after the table records why the file list diverged from the original draft (real Skeleton-based loading sites per module) and documents the per-module finding for 2.6 / 2.7 (NutritionApp.tsx Menu plan branch; RoutineTimeline.tsx calendar branch — both modules have exactly one consumer of @shared/components/ui/Skeleton). Supersedes #1710 (single doc PR for 2.4 + 2.5 only); this combined update is the cleaner record because all four <DataState> consumer adoption PRs landed on the same day. Closes the doc-side of initiative 0011 PR 2.6 + 2.7.
1 parent 7299bbb commit 7b144f9

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

docs/initiatives/0011-foundation-adoption-and-process-discipline.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# 0011 — Foundation adoption + process discipline (post-launch sweep)
22

3-
> **Last validated:** 2026-05-04 by @zlupa005. **Next review:** 2026-08-02.
4-
> **Status:** Proposed (Phase 1 freeze-compatible — старт 2026-05-05; Phases 2–4 заплановані пост-0010-launch ≥ 2026-06-01)
3+
> **Last validated:** 2026-05-04 by @Skords-01. **Next review:** 2026-08-02.
4+
> **Status:** Phase 1 ~70% done (1.1/1.2/1.3 merged; 1.4 pending). Phase 2 in flight: 2.2 merged (#1696); 2.4 (#1703) + 2.5 (#1709) + 2.6 (#1713) + 2.7 (#1714) opened 2026-05-04 (DataState consumer adoption — finyk + fizruk + nutrition + routine; 2.8 HubChat/coach/digest залишається).
55
> **Priority:** P1 (subordinate to 0010-revenue-first-launch scope-freeze)
66
> **Owner:** `@Skords-01`
77
> **ETA:** 7 тижнів (Phase 1 — паралельно з 0010 freeze; Phases 2–4 — після 0010 launch)
@@ -126,13 +126,15 @@
126126

127127
Цільові 15 файлів — top-of-funnel high-traffic екрани. Розбиваємо по доменах:
128128

129-
| PR | Назва | Файли (приклад) | ETA |
130-
| --- | -------------------------------------------------------------- | ---------------------------------------------------- | ------ |
131-
| 2.4 | `refactor(web): adopt <DataState> in finyk Mono panels` | MonoTransactionsPanel, BudgetPanel, MonoAccountsList | +3 дні |
132-
| 2.5 | `refactor(web): adopt <DataState> in fizruk panels` | WorkoutHistoryPanel, BiometricsPanel | +3 дні |
133-
| 2.6 | `refactor(web): adopt <DataState> in nutrition panels` | NutritionMealsPanel, BarcodeScannerPanel | +3 дні |
134-
| 2.7 | `refactor(web): adopt <DataState> in routine panels` | RoutineList, StreakCalendarPanel | +3 дні |
135-
| 2.8 | `refactor(web): adopt <DataState> in HubChat / coach / digest` | HubChatHistoryPanel, CoachInsightsPanel, DigestPanel | +3 дні |
129+
| PR | Назва | Файли (фактичні споживачі) | Status |
130+
| --- | -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
131+
| 2.4 | `refactor(web): adopt <DataState> in finyk Mono panels` | `Overview.tsx`, `budgets/Budgets.tsx`, `transactions/TransactionList.tsx` (+ `TransactionList.test.tsx`) | **Opened 2026-05-04 — [#1703](https://github.com/Skords-01/Sergeant/pull/1703)** |
132+
| 2.5 | `refactor(web): adopt <DataState> in fizruk Workouts journal` | `pages/Workouts.tsx` (єдина Skeleton-based loading site у fizruk модулі) | **Opened 2026-05-04 — [#1709](https://github.com/Skords-01/Sergeant/pull/1709)** |
133+
| 2.6 | `refactor(web): adopt <DataState> in nutrition panels` | `NutritionApp.tsx` Menu "plan" tab (єдиний Skeleton-based loading site у nutrition модулі) | **Opened 2026-05-04 — [#1713](https://github.com/Skords-01/Sergeant/pull/1713)** |
134+
| 2.7 | `refactor(web): adopt <DataState> in routine panels` | `RoutineTimeline.tsx` calendar branch (єдиний Skeleton-based loading site у routine модулі) | **Opened 2026-05-04 — [#1714](https://github.com/Skords-01/Sergeant/pull/1714)** |
135+
| 2.8 | `refactor(web): adopt <DataState> in HubChat / coach / digest` | HubChatHistoryPanel, CoachInsightsPanel, DigestPanel | +3 дні |
136+
137+
> **Note (2026-05-04):** Файли в колонці «Файли» для 2.4–2.7 — actual landed targets, а не initial guess. Початкові приклади (`MonoTransactionsPanel`, `BudgetPanel`, `MonoAccountsList`, `WorkoutHistoryPanel`, `BiometricsPanel`, `NutritionMealsPanel`, `BarcodeScannerPanel`, `RoutineList`, `StreakCalendarPanel`) виявилися застарілими — фізичних компонентів з такими іменами в репі немає. Замість того ми мігрували реальні Skeleton-based loading sites у кожному модулі: усі три finyk-сторінки з `if (loadingTx && realTx.length === 0)` патерном (PR 2.4); `view === "log" && !workoutsLoaded` guard у `Workouts.tsx` (PR 2.5 — у fizruk саме одне таке місце, інші pages працюють синхронно з local-first MMKV-web даними); день-плановий `dayPlanBusy` skeleton у `NutritionApp.tsx` Menu "plan" branch (PR 2.6 — у nutrition тільки `NutritionApp.tsx` імпортує `@shared/components/ui/Skeleton`, food-search dropdown — inline list-state, не panel-level); calendar `isHabitPending && mainTab === "calendar"` skeleton у `RoutineTimeline.tsx` (PR 2.7 — єдиний Skeleton-importer у routine модулі).
136138

137139
> **Кожен PR — 1 child-Devin-сесія максимум.** Скоуп = 2–4 файли, ~150–300 LOC change. Поведінка не змінюється — той самий empty-state, той самий error-state, той самий retry. Лише уніфікований wrapper.
138140

0 commit comments

Comments
 (0)