- Migrate to Flutter built-in Kotlin: set builtInKotlin=true and
newDsl=true in gradle.properties; remove id(kotlin-android) from
app/build.gradle.kts. Eliminates the Kotlin Gradle Plugin WARNING
that caused 8 stderr lines in the VS Code Debug console.
- Fix DashboardController lifecycle in MobileShell: move controller
creation from _buildBody() (called on every rebuild) to
didChangeDependencies() so it is initialised once and reused.
Prevents repeated data loads on every tab switch and resolves the
203 skipped frames Choreographer warning.
- Fix KcSummaryCard RenderFlex overflow (8 cards, 19px each): reduce
icon size 28->22px, switch spacing to xs, wrap value Text in
FittedBox(scaleDown) with fontSize 28, use bodySmall + maxLines for
label. Cards now fit within the GridView childAspectRatio:1.6
constraint on all phone screen sizes.
All tests pass: 27 kell_mobile + 41 design_system.
Validate Docs / validate-docs (push) Successful in 3m31sDetails
Flutter Analyze / Dart Analyze (push) Has been cancelledDetails
Flutter Test / Flutter Tests (push) Has been cancelledDetails
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