Commit Graph

3 Commits

Author SHA1 Message Date
Mike Kell 65466ba513 feat(mobile): Stage 5A — Android app shell and bootstrap
Validate Docs / validate-docs (push) Successful in 3m31s Details
Flutter Analyze / Dart Analyze (push) Has been cancelled Details
Flutter Test / Flutter Tests (push) Has been cancelled Details
Replace default Flutter counter template in kell_mobile with a fully
integrated mobile operations platform shell reusing shared packages.

Mobile app shell:
- MobileAppServices extending KcAppServices with fake()/wp() factories
- KellMobileApp with KcAppScope<MobileAppServices>, KcTheme, env badge
- MobileShell with 5-tab NavigationBar (Dashboard, Inventory, Orders,
  Publishing, More) using IndexedStack for state preservation
- KcBootstrap entry point with --dart-define environment variables

Dashboard:
- DashboardSummary value object with fromData()/empty() constructors
- GetDashboardSummary use case aggregating inventory, orders, publishing
- DashboardController (ChangeNotifier) with loading/error/summary state
- MobileDashboardPage with GridView summary cards using design system
  widgets (KcSectionHeader, KcSummaryCard, KcEmptyState)

Placeholder pages:
- FinancePlaceholderPage, IntegrationsPlaceholderPage for More tab
- Feature tab pages delegate to shared feature presentation layers

Infrastructure:
- pubspec.yaml references all shared packages (core, design_system,
  feature_inventory, feature_orders, feature_policy, feature_wordpress)
- SDK constraint corrected from ^3.11.4 to ^3.11.0 across all 14
  pubspec.yaml files to match installed Dart SDK 3.11.3

Tests:
- 6 new kell_mobile widget tests: shell loading, summary cards,
  environment badge, navigation bar destinations, tab switching, More menu
- All existing tests remain passing (24/24 kell_web, 294/294
  feature_wordpress)

Documentation:
- master_development_brief.md: Stage 5A marked complete, next branch
  updated to feat/android-publishing-surface (Stage 5B), kell_mobile
  platform description updated
- build_execution_tracker.md: Stage 5A entry added with full file list
2026-05-28 19:10:14 -04:00
Mike Kell 9eafc68fec feat(core): extract shared composition pattern into core package (Stage 4B)
Validate Docs / validate-docs (push) Successful in 1m13s Details
Extract AppConfig/AppEnvironment, AppServices, Bootstrap, and AppScope into core package as KcAppConfig, KcAppServices, KcBootstrap, and KcAppScope generic abstractions.

New core composition types:

- KcAppConfig: runtime config from --dart-define (KC_ENV, WC credentials)

- KcAppEnvironment: enum for fake/wordpress environments

- KcAppServices: abstract base for app service containers

- KcServiceFactory<T>: generic factory for fake/wordpress service creation

- KcBootstrap: shared bootstrap with env switch and WP credential fallback

- KcAppScope<T>: InheritedWidget exposing typed services + config to tree

kell_web backward compatibility:

- AppConfig/AppEnvironment are now typedefs to Kc-prefixed types

- AppServices extends KcAppServices with concrete repositories

- AppScope extends KcAppScope<AppServices> with direct InheritedWidget lookup

- Bootstrap delegates to KcBootstrap.run with app-specific factory

Tests: 20 new core tests, all 379 tests passing (core 20, design_system 41, feature_wordpress 294, kell_web 24). dart analyze clean.
2026-05-22 09:57:51 -04:00
Mike Kell 59548cedbd Add Flutter app and package monorepo scaffold
Publish Docs / publish-docs (push) Successful in 59s Details
2026-04-04 09:19:46 -04:00