docs: sync master development brief with completed stages and resolved recommendations
Publish Docs / publish-docs (push) Successful in 1m2s Details

This commit is contained in:
Mike Kell 2026-05-22 11:03:00 -04:00
parent effaadc84b
commit f056d5f0b5
1 changed files with 33 additions and 62 deletions

View File

@ -48,8 +48,8 @@ Rules:
- `apps/kell_web` exists — active, wired to shared packages. - `apps/kell_web` exists — active, wired to shared packages.
- `apps/kell_mobile` exists — scaffolded as default Flutter template, **not yet integrated** with shared packages. - `apps/kell_mobile` exists — scaffolded as default Flutter template, **not yet integrated** with shared packages.
- Shared packages include: - Shared packages include:
- `core` — shared domain/application abstractions - `core` — shared domain/application abstractions and cross-platform composition pattern (`KcAppConfig`, `KcAppServices`, `KcBootstrap`, `KcAppScope`)
- `design_system` — theme (colors, spacing, theme) and shared widgets (KcCard, KcStatusChip) - `design_system` — theme (`KcColors`, `KcSpacing`, `KcTheme`), typography (`KcTypography`), layout (`KcBreakpoints`), and 7 shared widgets (`KcCard`, `KcStatusChip`, `KcEmptyState`, `KcSectionHeader`, `KcSummaryCard`, `KcLoadingState`, `KcErrorState`)
- `feature_inventory` — domain, application, data (fake), and presentation layers - `feature_inventory` — domain, application, data (fake), and presentation layers
- `feature_wordpress` — domain, application, data (fake + WooCommerce), and presentation layers (most mature feature) - `feature_wordpress` — domain, application, data (fake + WooCommerce), and presentation layers (most mature feature)
- `feature_orders` — domain, application, data (fake), and presentation layers - `feature_orders` — domain, application, data (fake), and presentation layers
@ -61,7 +61,7 @@ Rules:
- `feature_finance` — financial analysis feature (stub only) - `feature_finance` — financial analysis feature (stub only)
- `feature_mrp` — craft manufacturing/MRP feature (stub only) - `feature_mrp` — craft manufacturing/MRP feature (stub only)
- `feature_social` — social media management feature (stub only) - `feature_social` — social media management feature (stub only)
- `tools/` directory contains CI helper scripts (`run_all_tests.sh`, `README.md`). - `tools/` directory contains CI helper scripts (`run_all_tests.sh`, `collect_coverage.sh`, `README.md`).
- App shell, routing, dashboard, reusable shell widgets, `AppServices`, and `AppScope` are implemented. - App shell, routing, dashboard, reusable shell widgets, `AppServices`, and `AppScope` are implemented.
- Dashboard uses app-composed repository data. - Dashboard uses app-composed repository data.
- Vertical slices exist for Inventory, Products/Publishing, Orders, and Policy/Governance. - Vertical slices exist for Inventory, Products/Publishing, Orders, and Policy/Governance.
@ -248,25 +248,10 @@ Invest in shared foundations now so that the Android expansion (Stage 5) and all
> Merged `feat/design-system-shared-widgets``main` (2026-05-22). > Merged `feat/design-system-shared-widgets``main` (2026-05-22).
> Migrated `EmptyStatePanel`, `SectionHeader`, and `SummaryCard` from `kell_web/lib/shell/widgets/` into `design_system` as `KcEmptyState`, `KcSectionHeader`, and `KcSummaryCard`. Added `KcTypography` shared typography scale, `KcBreakpoints` responsive layout breakpoint utilities, `KcLoadingState` and `KcErrorState` shared state widgets. Updated `kell_web` dashboard to use design_system widgets directly; shell widget files now contain backward-compatible typedefs. Theme updated to use `KcTypography.applyKcTypography()`. 41 new design_system tests added (41 total `design_system` tests, 294 `feature_wordpress` tests, 24 `kell_web` tests — all passing). Analyze clean. > Migrated `EmptyStatePanel`, `SectionHeader`, and `SummaryCard` from `kell_web/lib/shell/widgets/` into `design_system` as `KcEmptyState`, `KcSectionHeader`, and `KcSummaryCard`. Added `KcTypography` shared typography scale, `KcBreakpoints` responsive layout breakpoint utilities, `KcLoadingState` and `KcErrorState` shared state widgets. Updated `kell_web` dashboard to use design_system widgets directly; shell widget files now contain backward-compatible typedefs. Theme updated to use `KcTypography.applyKcTypography()`. 41 new design_system tests added (41 total `design_system` tests, 294 `feature_wordpress` tests, 24 `kell_web` tests — all passing). Analyze clean.
#### Stage 4B — Cross-platform shell composition strategy #### ~~Stage 4B — Cross-platform shell composition strategy~~ ✅ COMPLETE
##### Goal > Merged `feat/shared-composition-pattern``main` at `0a0abc2` (2026-05-22).
> Extracted shared composition abstractions into `core` package: `KcAppConfig`, `KcAppEnvironment`, `KcAppServices` (abstract), `KcServiceFactory<T>`, `KcBootstrap`, `KcAppScope<T>`. Updated `kell_web` to delegate to shared types via backward-compatible typedefs (`AppConfig`, `AppEnvironment`, `AppServices`, `AppScope`, `Bootstrap`). Contract for new app targets documented in `kell_creations_apps/docs/composition-strategy.md`. `kell_web` runtime behavior unchanged. 20 core tests added covering all composition abstractions (20/20 core, 41/41 design_system, 294/294 feature_wordpress, 24/24 kell_web — all passing). Analyze clean.
Extract or document a shared app composition pattern so `kell_mobile` can mirror the `kell_web` architecture without forking logic.
##### Requirements
- evaluate whether `AppServices`, `AppScope`, `AppConfig`, and `Bootstrap` should move to a shared package (e.g., `core` or new `app_shell`) or remain duplicated with a documented contract
- if extracting: create shared composition abstractions in the chosen package
- if duplicating: document the contract explicitly so `kell_mobile` follows the same pattern
- do not change runtime behavior of `kell_web`
##### Definition of done
- composition strategy is decided and documented
- shared abstractions extracted or duplication contract documented
- `kell_web` still works identically
- analyze clean, existing tests passing
#### ~~Stage 4C — Flutter CI/CD pipeline~~ ✅ COMPLETE #### ~~Stage 4C — Flutter CI/CD pipeline~~ ✅ COMPLETE
@ -428,53 +413,39 @@ The following packages exist as scaffolded stubs with no implementation. Each ne
**Recommendation:** Add a **Stage 8 — Infrastructure package activation** to the roadmap covering `auth`, `data`, and `integrations` before expanding into new feature domains. **Recommendation:** Add a **Stage 8 — Infrastructure package activation** to the roadmap covering `auth`, `data`, and `integrations` before expanding into new feature domains.
### 2. Design system expansion ### ~~2. Design system expansion~~ ✅ RESOLVED
The `design_system` package currently contains: > Addressed in **Stage 4A** (Design system expansion and shared widget migration), merged 2026-05-22.
> All previously identified gaps have been resolved:
>
> - ✅ Shared typography scale → `KcTypography` with full Material 3 hierarchy and `applyKcTypography()` helper
> - ✅ Responsive layout utilities → `KcBreakpoints` with compact/medium/expanded/large queries and grid column helper
> - ✅ Shared empty state, loading state, error state patterns → `KcEmptyState`, `KcLoadingState`, `KcErrorState`
> - ✅ Shell widgets migrated → `EmptyStatePanel`, `SectionHeader`, `SummaryCard` moved from `kell_web` to `design_system` as `KcEmptyState`, `KcSectionHeader`, `KcSummaryCard`; backward-compatible typedefs retained in `kell_web`
>
> The `design_system` package now contains: theme (`KcColors`, `KcSpacing`, `KcTheme`), typography (`KcTypography`), layout (`KcBreakpoints`), and 7 widgets (`KcCard`, `KcStatusChip`, `KcEmptyState`, `KcSectionHeader`, `KcSummaryCard`, `KcLoadingState`, `KcErrorState`). 41 tests, 100% line coverage.
>
> **Remaining gap:** No shared button/action component library. This can be addressed in a future stage as needed.
- Theme: `KcColors`, `KcSpacing`, `KcTheme` ### ~~3. Cross-platform shell composition strategy~~ ✅ RESOLVED
- Widgets: `KcCard`, `KcStatusChip`
**Gaps identified:** > Addressed in **Stage 4B** (Cross-platform shell composition strategy), merged `feat/shared-composition-pattern``main` at `0a0abc2` (2026-05-22).
> Shared composition abstractions extracted into `core` package: `KcAppConfig`, `KcAppEnvironment`, `KcAppServices` (abstract), `KcServiceFactory<T>`, `KcBootstrap`, `KcAppScope<T>`. `kell_web` updated to delegate to shared types via backward-compatible typedefs. Contract for new app targets (including `kell_mobile`) documented in `kell_creations_apps/docs/composition-strategy.md`. 20 core tests passing. Analyze clean.
- No shared typography scale ### ~~4. CI/CD for Flutter applications~~ ✅ RESOLVED
- No shared button/action component library
- No responsive layout utilities for cross-platform (web + mobile)
- No shared empty state, loading state, or error state patterns
- Shell widgets (`EmptyStatePanel`, `SectionHeader`, `SummaryCard`) live in `kell_web` app rather than `design_system`
**Recommendation:** Now addressed in **Stage 4A** (Design system expansion and shared widget migration). Migrate reusable shell widgets into `design_system` and add responsive layout primitives before the Android expansion in Stage 5. > Addressed in **Stage 4C** (Flutter CI/CD pipeline), merged `feat/flutter-cicd``main` at `6a6323e` (2026-05-22).
> Two Forgejo Actions workflows established: `flutter-analyze.yml` (runs `dart analyze --fatal-infos` on all 8 packages/apps) and `flutter-test.yml` (runs `flutter test` per package with aggregate summary table). Workflows trigger on PRs to main and all non-main branch pushes. Local CI helper scripts added to `tools/`.
### 3. Cross-platform shell composition strategy >
> **Remaining gap:** Flutter build validation (web + Android) is not yet automated in CI. This can be added as Android work progresses in Stage 5.
`kell_web` uses a well-structured composition pattern (`AppServices`, `AppScope`, `AppConfig`, `Bootstrap`). `kell_mobile` has none of this — it's a default counter app.
**Recommendation:** Extract a shared shell composition pattern or at minimum define a documented convention so that `kell_mobile` mirrors the `kell_web` architecture. Consider whether `AppServices`, `AppScope`, and bootstrap logic should move to a shared `core` or `app_shell` package, or remain duplicated with a documented contract.
### 4. CI/CD for Flutter applications
Currently, CI/CD exists only for MkDocs documentation publishing. There is no automated pipeline for:
- Flutter `dart analyze` on PRs
- Flutter test execution on PRs
- Flutter build validation (web + Android)
- Test result reporting or quality gates
**Recommendation:** Now addressed in **Stage 4C** (Flutter CI/CD pipeline). Establish Flutter CI/CD in Forgejo Actions before the Android expansion in Stage 5 adds more surfaces to validate.
### 5. ~~Test coverage visibility and quality gates~~ ✅ PARTIALLY RESOLVED ### 5. ~~Test coverage visibility and quality gates~~ ✅ PARTIALLY RESOLVED
> Automated test count reporting and line coverage measurement now addressed in Stage 4D (test coverage visibility). CI workflow produces per-package pass/fail counts and coverage percentages. Baseline documented. Minimum threshold enforcement and trend tracking remain future enhancements. > Automated test count reporting and line coverage measurement now addressed in Stage 4D (test coverage visibility). CI workflow produces per-package pass/fail counts and coverage percentages. Baseline documented. Minimum threshold enforcement and trend tracking remain future enhancements.
### 6. Build execution tracker synchronization ### ~~6. Build execution tracker synchronization~~ ✅ RESOLVED
The `build_execution_tracker.md` is stale: > The `build_execution_tracker.md` has been fully updated through Stage 4D. All 10 merged branches are tracked with status, dates, files changed, test counts, and analysis results. Current status correctly reflects Stage 4 complete and next branch as `feat/android-app-shell` (Stage 5A). Updated as part of the Stage 4C/4D merge cycle (2026-05-22).
- Shows `feat/multi-select-groundwork` as "queued" when it was merged 2026-05-22
- Does not include `feat/list-efficiency-improvements` at all
- `current status` section references Stage 3 as current when Stage 3 is complete
**Recommendation:** Update the tracker immediately and consider whether the tracker should be auto-generated or at minimum updated as part of the standard slice completion checklist.
### 7. Image and media management ### 7. Image and media management
@ -496,11 +467,11 @@ No monitoring, error tracking, or analytics strategy exists for the Flutter appl
> Now populated with `run_all_tests.sh` and `README.md` as part of Stage 4C (Flutter CI/CD pipeline). > Now populated with `run_all_tests.sh` and `README.md` as part of Stage 4C (Flutter CI/CD pipeline).
### 10. Missing feature parity documentation ### ~~10. Missing feature parity documentation~~ ✅ PARTIALLY RESOLVED
The architecture documentation describes rich capabilities across all domains (Inventory, MRP, WordPress, Social Media, Financial Analysis), but actual implementation maturity varies dramatically. Only `feature_wordpress` has substantial implementation. > A **feature maturity matrix** has been added to this brief (see **Appendix: Feature maturity matrix** at the end of this document). It maps all 12 packages across domain, application, data (fake/real), presentation, test count, and maturity level. Added 2026-05-22 during full project analysis.
>
**Recommendation:** Add a **feature maturity matrix** to this brief or a companion document that maps architecture aspirations to actual implementation status per feature package. This would make prioritization conversations clearer. > **Remaining gap:** The matrix does not yet map architecture documentation aspirations to implementation status per feature (e.g., which architecture-described capabilities exist vs. are missing within each feature package). This can be expanded as feature packages mature.
### 11. Policy register CSVs are empty ### 11. Policy register CSVs are empty
@ -610,4 +581,4 @@ Working rules:
| `data` | ❌ Stub | N/A | N/A | ❌ None | N/A | None | **Scaffolded only** | | `data` | ❌ Stub | N/A | N/A | ❌ None | N/A | None | **Scaffolded only** |
| `integrations` | ❌ Stub | N/A | N/A | ❌ None | N/A | None | **Scaffolded only** | | `integrations` | ❌ Stub | N/A | N/A | ❌ None | N/A | None | **Scaffolded only** |
| `design_system` | N/A | N/A | N/A | N/A | ✅ Expanded (theme, typography, layout, 7 widgets) | 41 | **Foundation ready** | | `design_system` | N/A | N/A | N/A | N/A | ✅ Expanded (theme, typography, layout, 7 widgets) | 41 | **Foundation ready** |
| `core` | ✅ Partial | N/A | N/A | N/A | N/A | 20 | **Foundation ready** | | `core` | ✅ Partial | ✅ Composition | N/A | N/A | N/A | 20 | **Foundation ready** |