34 KiB
34 KiB
Build Execution Tracker
Current status
- main baseline updated through: integrations-contracts (Stage 8A complete)
- next branch: feat/data-layer-contracts (Stage 8B)
- current stage: Stage 8A complete — integration abstractions activated
Slice tracker
feat/description-only-edit
- status: merged to main
- commit:
cebac4c - inspection: complete
- implementation: complete
- tests: passed (212/212)
- analyze: passed
- brief updated: yes
feat/category-only-edit
- status: merged to main
- commit:
8e7e4cb - inspection: complete
- implementation: complete
- tests: passed (223/223 feature_wordpress, 5/5 kell_web dashboard)
- analyze: passed (dart analyze — no issues found)
- brief updated: yes
feat/post-write-consistency
- status: merged to main
- commit:
7acff83 - inspection: complete
- implementation: complete
- files changed:
feature_wordpress/lib/src/application/product_publishing_controller.dart— added_refreshSelection()helper; wired intoload()and all write methods to preserve/refreshselectedDraftby id after reloadfeature_wordpress/test/product_publishing_controller_test.dart— added 11 post-write consistency tests covering selection preservation, field refresh (status/price/name/description/category), lastModified, filter/search/sort persistence after writes, item repositioning under active sort, and filter-exit auto-reselection
- tests: passed (234/234 feature_wordpress)
- analyze: passed (dart analyze — no issues found)
- brief updated: yes
feat/publishing-ux-hardening
- status: merged to main
- commit:
b81016d - inspection: complete
- implementation: complete
- files changed:
feature_wordpress/lib/src/presentation/widgets/product_preview_panel.dart— added inline validation error state (_nameError,_priceError,_descriptionError,_categoryError); error messages shown below text fields on empty/invalid submit; errors cleared on cancel; addedonCategoryChangedcallback; text fields and save buttons disabled duringisUpdating; added tooltips (Save price,Save category,Cancel) for consistencyfeature_wordpress/lib/src/presentation/widgets/status_action_snack_bar.dart— failure SnackBar now appendserrorMessagedetail to the failure text for operator visibilityfeature_wordpress/test/widgets/product_preview_panel_test.dart— addedonCategoryChangedto test helper; added 13 new tests: inline validation errors (name, price, description, category), error-clears-on-cancel, valid-input-clears-error, and text-field-disabled-during-isUpdating for all four edit fieldsfeature_wordpress/test/widgets/status_action_snack_bar_test.dart— updated 2 failure SnackBar assertions to match new wording that includes error detail
- tests: passed (247/247 feature_wordpress)
- analyze: passed (dart analyze — no issues found)
- brief updated: yes
feat/multi-select-groundwork
- status: merged to main
- date: 2026-05-22
- inspection: complete
- implementation: complete
- files changed:
feature_wordpress/lib/src/application/product_publishing_controller.dart— added multi-selection state (toggleMultiSelect,clearMultiSelection,selectAllVisible,isMultiSelected,multiSelectedIds,multiSelectedCount)feature_wordpress/lib/src/presentation/widgets/product_draft_card.dart— added optional leading checkbox for multi-select modefeature_wordpress/lib/src/presentation/product_publishing_page.dart— added_MultiSelectBarwith selected-count display, Select All, and Clear actionsfeature_wordpress/test/product_publishing_controller_test.dart— added 15 new multi-select tests
- tests: passed (262/262 feature_wordpress)
- analyze: passed
- brief updated: yes
feat/list-efficiency-improvements
- status: merged to main
- date: 2026-05-22
- inspection: complete
- implementation: complete
- files changed:
feature_wordpress/lib/src/application/product_publishing_controller.dart— addedListDensityenum, compact/standard view toggle, staleness detection (isStale(),staleCount()with 30-day threshold), keyboard navigation (selectNextDraft/selectPreviousDraftwith wrapping)feature_wordpress/lib/src/presentation/widgets/product_draft_card.dart— added compact two-row layout variant, description snippet in standard card, stale indicator icon,Flexibleoverflow handlingfeature_wordpress/lib/src/presentation/product_publishing_page.dart— wiredFocus+onKeyEventfor arrow keys and density toggle buttonfeature_wordpress/test/product_publishing_controller_test.dart— added 32 new tests
- tests: passed (294/294 feature_wordpress, 5/5 kell_web dashboard)
- analyze: passed
- brief updated: yes
feat/design-system-shared-widgets
- status: merged to main
- date: 2026-05-22
- inspection: complete
- implementation: complete
- files changed:
design_system/lib/design_system.dart— expanded barrel exports with typography, layout, and 5 new widgetsdesign_system/lib/src/theme/kc_typography.dart— new shared typography scale (KcTypography) with full Material 3 text style hierarchy andapplyKcTypography()helperdesign_system/lib/src/theme/kc_theme.dart— updated to useKcTypography.applyKcTypography()instead of inline text stylesdesign_system/lib/src/layout/kc_breakpoints.dart— new responsive breakpoint utilities (KcBreakpoints) with compact/medium/expanded/large queries and grid column helperdesign_system/lib/src/widgets/kc_empty_state.dart— migrated from kell_web EmptyStatePanel as KcEmptyStatedesign_system/lib/src/widgets/kc_section_header.dart— migrated from kell_web SectionHeader as KcSectionHeaderdesign_system/lib/src/widgets/kc_summary_card.dart— migrated from kell_web SummaryCard as KcSummaryCarddesign_system/lib/src/widgets/kc_loading_state.dart— new shared loading state widgetdesign_system/lib/src/widgets/kc_error_state.dart— new shared error state widget with optional retrydesign_system/test/design_system_test.dart— expanded from 3 to 41 tests covering all new widgets, typography, breakpoints, colors, spacingkell_web/lib/pages/dashboard_page.dart— updated imports to use design_system widgets directly (KcSectionHeader, KcSummaryCard, KcEmptyState)kell_web/lib/shell/widgets/empty_state_panel.dart— replaced with backward-compatible typedef re-exportkell_web/lib/shell/widgets/section_header.dart— replaced with backward-compatible typedef re-exportkell_web/lib/shell/widgets/summary_card.dart— replaced with backward-compatible typedef re-export
- tests: passed (41/41 design_system, 294/294 feature_wordpress, 24/24 kell_web)
- analyze: passed (dart analyze — no issues found in design_system and kell_web)
- brief updated: yes
feat/shared-composition-pattern
- status: merged to main
- date: 2026-05-22
- inspection: complete
- implementation: complete
- files changed:
core/lib/src/app/— extracted shared composition abstractions (KcAppConfig, KcAppEnvironment, KcAppServices, KcServiceFactory, KcBootstrap, KcAppScope)core/lib/core.dart— expanded barrel exports for app compositioncore/test/core_test.dart— added 20 tests for shared composition abstractionskell_web/— updated to use core composition abstractions
- tests: passed (20/20 core, 41/41 design_system, 294/294 feature_wordpress, 24/24 kell_web)
- analyze: passed
- brief updated: yes
feat/flutter-cicd
- status: merged to main
- date: 2026-05-22
- inspection: complete
- implementation: complete
- files changed:
.forgejo/workflows/flutter-analyze.yml— new Forgejo Actions workflow for dart analyze on all 8 packages/apps.forgejo/workflows/flutter-test.yml— new Forgejo Actions workflow for flutter test per package with aggregate pass/fail summarykell_creations_apps/tools/run_all_tests.sh— new local CI helper script with optional --analyze flagkell_creations_apps/tools/README.md— documents scripts and CI workflow inventory
- tests: passed (20/20 core, 41/41 design_system, 294/294 feature_wordpress, 24/24 kell_web — 379 total)
- analyze: passed (dart analyze — no issues found across all 8 packages/apps)
- brief updated: yes
feat/test-coverage-visibility
- status: merged to main
- date: 2026-05-22
- inspection: complete
- implementation: complete
- files changed:
.forgejo/workflows/flutter-test.yml— enhanced to run flutter test --coverage, parse lcov.info, report per-package line coverage percentages in aggregate summary tablekell_creations_apps/tools/collect_coverage.sh— new local coverage helper script with summary tablekell_creations_apps/tools/README.md— documented collect_coverage.sh script.gitignore— added coverage/ directoriesdocs/development/master_development_brief.md— marked Stage 4D complete, documented baseline coverage table, updated next branch to Stage 5A, partially resolved improvement #5
- tests: passed (20/20 core, 41/41 design_system, 294/294 feature_wordpress, 24/24 kell_web — 379 total)
- analyze: passed
- coverage baseline: core 85.7%, design_system 100.0%, feature_wordpress 84.7%, kell_web 54.1%, overall 78.4%
- brief updated: yes
feat/android-app-shell
- status: merged to main
- date: 2026-05-28
- inspection: complete
- implementation: complete
- files changed:
kell_mobile/pubspec.yaml— replaced default template dependencies with shared packages (core,design_system,feature_inventory,feature_orders,feature_policy,feature_wordpress); SDK constraint corrected to^3.11.0kell_mobile/lib/main.dart— replaced counter template withKcBootstrapentry point using--dart-defineenvironment variableskell_mobile/lib/app.dart— newKellMobileAppwidget withKcAppScope<MobileAppServices>,KcTheme, and environment badgekell_mobile/lib/composition/mobile_app_services.dart— newMobileAppServicesextendingKcAppServiceswithfake()andwp()factory constructorskell_mobile/lib/shell/mobile_shell.dart— newMobileShellwith 5-tabNavigationBar(Dashboard, Inventory, Orders, Publishing, More) andIndexedStackbodykell_mobile/lib/dashboard/domain/dashboard_summary.dart— sharedDashboardSummaryvalue object withfromData()andempty()constructorskell_mobile/lib/dashboard/application/get_dashboard_summary.dart— use case aggregating inventory, orders, and publishing repositorieskell_mobile/lib/dashboard/application/dashboard_controller.dart—ChangeNotifiercontroller with loading/error/summary statekell_mobile/lib/pages/dashboard_page.dart— mobile-optimized dashboard withGridViewsummary cards using design system widgetskell_mobile/lib/pages/finance_placeholder_page.dart— placeholder page for Finance tabkell_mobile/lib/pages/integrations_placeholder_page.dart— placeholder page for Integrations tabkell_mobile/test/widget_test.dart— 6 widget tests covering shell loading, summary cards, environment badge, navigation bar, tab switching, and More menu- 13 other
pubspec.yamlfiles — SDK constraint corrected from^3.11.4to^3.11.0across all packages
- tests: passed (6/6 kell_mobile, 24/24 kell_web, 294/294 feature_wordpress — all passing)
- analyze: not yet run (SDK constraint fix was prerequisite)
- brief updated: yes
feat/android-publishing-surface
- status: merged to main
- date: 2026-05-29
- inspection: complete
- implementation: complete
- files changed:
feature_wordpress/lib/feature_wordpress.dart— expanded barrel exports withProductPublishingController,ProductSortField,ProductDraftCard,ProductPreviewPanel, and all 5 use cases + snack bar helpers for mobile consumptionkell_mobile/lib/pages/mobile_publishing_page.dart— new mobile-optimized publishing workspace with search bar, horizontal filter chips, sort dropdown, product count, compact card list, pull-to-refresh, and push navigation to detail pagekell_mobile/lib/pages/mobile_product_detail_page.dart— new full-screen product detail page wrapping sharedProductPreviewPanelwith all narrow edit callbackskell_mobile/lib/shell/mobile_shell.dart— Products tab (case 2) switched fromProductPublishingPagetoMobilePublishingPage; removed unusedfeature_wordpressimportkell_mobile/test/widget_test.dart— added 4 new mobile publishing surface tests (search bar, filter chips, product count, sort button) — 10 total kell_mobile tests
- tests: passed (10/10 kell_mobile)
- analyze: passed (dart analyze — no issues found)
- brief updated: yes
feat/android-feedback-polish
- status: merged to main
- date: 2026-05-29
- inspection: complete
- implementation: complete
- files changed:
kell_mobile/lib/pages/mobile_product_detail_page.dart— converted from stateless to StatefulWidget; added local controller listener for SnackBar feedback in detail page context; added confirmation dialogs for publish/move-to-draft actions; added haptic feedback (mediumImpact for status, lightImpact for field edits) on successful actionskell_mobile/lib/pages/mobile_publishing_page.dart— added_detailPageActiveguard to suppress SnackBars when detail page is pushed (prevents invisible behind-route feedback); updated_navigateToDetailto set/clear the guard flag using Navigator.push().then()kell_mobile/test/widget_test.dart— added 4 new Stage 6A tests: detail page navigation, confirmation dialog for status changes, product name in app bar, and back navigation returning to product list
- tests: passed (14/14 kell_mobile)
- analyze: passed (dart analyze — no issues found)
- brief updated: yes
feat/android-mobile-ux-hardening
- status: merged to main
- date: 2026-05-30
- inspection: complete
- implementation: complete
- files changed:
feature_wordpress/lib/src/presentation/widgets/product_preview_panel.dart— removedconstraints: BoxConstraints()andpadding: EdgeInsets.zerooverrides from 12IconButtons (edit/save/cancel for name, price, description, category) to restore Material Design 48×48dp minimum touch targets; replaced fixed-widthSizedBox(width: 80)on price editTextFieldwithExpandedfor flexible layout on narrow mobile screens; addedtooltip: 'Edit price'for consistency with other edit buttonskell_mobile/lib/pages/mobile_product_detail_page.dart— wrappedProductPreviewPanelinSafeAreato prevent content clipping under system UI on devices with notches/gesture barsfeature_wordpress/test/widgets/product_preview_panel_test.dart— added 6 new touch target tests: rendered size ≥ 48×48dp verification for edit name, edit price, edit category, edit description, save/cancel name buttons, and flexible price edit TextField width
- tests: passed (300/300 feature_wordpress, 14/14 kell_mobile, 24/24 kell_web, 41/41 design_system — 379 total)
- analyze: passed
- brief updated: yes
feat/bulk-status-actions
- status: merged to main
- commit:
2c3ed3b - date: 2026-05-30
- inspection: complete
- implementation: complete
- files changed:
feature_wordpress/lib/src/application/product_publishing_controller.dart— addedBulkActionResultvalue class withsuccessCount,failureCount,targetStatus,failedProductNames,totalCount,allSucceeded; addedlastBulkActionResult,consumeBulkActionResult(), andbulkUpdateStatus()method that processes selected products sequentially with per-row updating state, then reloads once and clears multi-selectionfeature_wordpress/lib/src/presentation/widgets/status_action_snack_bar.dart— addedshowBulkActionSnackBar()helper with success/partial-failure/total-failure variants showing count summaries and up to 3 failed product namesfeature_wordpress/lib/src/presentation/product_publishing_page.dart— added_confirmBulkMoveToDraft()confirmation dialog; updated_MultiSelectBarwithonBulkMoveToDraftcallback and "Move to Draft"OutlinedButton.icon; added bulk result listener in_onControllerChangedfeature_wordpress/test/product_publishing_controller_test.dart— added 11 newbulkUpdateStatustests: no-op on empty selection, moves all to draft, sets result on all-success, clears multi-selection, clears updatingIds, handles mixed statuses, consume clears result, starts null, preserves preview selection, persists filter/sort, disposal safety
- tests: passed (311/311 feature_wordpress, 24/24 kell_web — 335+ total)
- analyze: passed (info-level only — 8 pre-existing unnecessary_import in test files)
- brief updated: yes
feat/inventory-domain-expansion
- status: merged to main
- date: 2026-07-10
- inspection: complete
- implementation: complete
- files changed:
feature_inventory/lib/src/domain/inventory_item.dart— expanded model withdescription,imageUrl,category,reorderPoint,supplier,location,lastUpdatedfields; addedcopyWith()feature_inventory/lib/src/domain/inventory_adjustment_result.dart— new value object withsuccess,updatedItem,errorMessage; named constructorssuccess()andfailure()feature_inventory/lib/src/domain/inventory_repository.dart— expanded contract withadjustQuantity(),setQuantity(),createItem(),updateItem(),updateItemImage()feature_inventory/lib/src/data/fake_inventory_repository.dart— expanded seed data (6 items with full fields, supplier/location, reorderPoint); implemented all write methods with status auto-update logicfeature_inventory/lib/src/application/adjust_inventory_quantity.dart— new use case wrappingadjustQuantity()feature_inventory/lib/src/application/create_inventory_item.dart— new use case wrappingcreateItem()feature_inventory/lib/src/application/update_inventory_item.dart— new use case wrappingupdateItem()feature_inventory/lib/src/application/inventory_controller.dart— addedisUpdating,lastActionResult,adjustQuantity(),createItem(),updateItem(),_refreshItem()with pre-filter selectedItem refreshfeature_inventory/lib/src/presentation/inventory_page.dart— updatedInventoryControllerconstructor call to pass all 4 use casesfeature_inventory/lib/feature_inventory.dart— expanded barrel exports for all new types and use casesfeature_inventory/test/feature_inventory_test.dart— 49 tests covering InventoryStatus, InventoryItem, InventoryAdjustmentResult, FakeInventoryRepository (all write methods), and InventoryController (read + write actions)kell_web/test/dashboard/domain/dashboard_summary_test.dart— updated InventoryItem construction to use expanded modelkell_web/test/dashboard/application/dashboard_controller_test.dart— updated stub InventoryRepository to implement expanded contract
- tests: passed (49/49 feature_inventory, 24/24 kell_web, 20/20 core, 41/41 design_system, 311/311 feature_wordpress — 445 total)
- analyze: passed (dart analyze — no issues found)
- brief updated: yes
feat/inventory-page-ui
- status: merged to main
- date: 2026-07-10
- inspection: complete
- implementation: complete
- files changed:
feature_inventory/lib/src/presentation/inventory_page.dart— full inventory page with search bar, status filter chips (All / In Stock / Low Stock / Out of Stock / Draft), item count display,InventoryItemCardlist,initialFilterandinitialQueryconstructor paramsfeature_inventory/lib/src/presentation/widgets/inventory_status_chip.dart—InventoryStatusChipwidget mappingInventoryStatusto label and colorfeature_inventory/lib/src/presentation/widgets/inventory_detail_panel.dart—InventoryDetailPanelwith name, SKU, description, quantity, price, status chip, supplier, location, reorder point, last updated; Adjust Quantity and View Product action buttons;isUpdatingloading indicatorfeature_inventory/lib/src/presentation/widgets/adjust_quantity_dialog.dart—AdjustQuantityDialogwith +/- delta input, reason field, andAdjustQuantityDialogResultvalue objectfeature_inventory/lib/src/presentation/inventory_action_snack_bar.dart—showInventoryActionSnackBar()helper for success/failure feedbackfeature_inventory/lib/feature_inventory.dart— expanded barrel exports for all new presentation typesfeature_inventory/test/widgets/inventory_page_test.dart— 26 new widget tests coveringInventoryStatusChip(4),InventoryDetailPanel(11),InventoryPage(9),AdjustQuantityDialogResult(2)kell_creations_apps/tools/run_all_tests.sh— addedfeature_inventorytoTESTABLElist
- tests: passed (75/75 feature_inventory, 311/311 feature_wordpress, 24/24 kell_web, 14/14 kell_mobile, 41/41 design_system, 20/20 core — 485 total)
- analyze: passed (dart analyze --fatal-infos — no issues found)
- brief updated: yes
feat/orders-domain
- status: merged to main
- date: 2026-07-10
- inspection: complete
- implementation: complete
- files changed:
feature_orders/lib/src/domain/order.dart— addedcustomerPhone,notes,orderNotesfields; addedcopyWith()feature_orders/lib/src/domain/order_action_result.dart— new value object withsuccess,updatedOrder,errorMessage; named constructorssuccess()andfailure()feature_orders/lib/src/domain/orders_repository.dart— expanded contract withupdateOrderStatus(),addOrderNote(),createOrder()feature_orders/lib/src/data/fake_orders_repository.dart— addedcustomerPhoneto seed data; implemented all write methods with duplicate-check, empty-note guard, and status auto-updatefeature_orders/lib/src/application/update_order_status.dart— new use case wrappingupdateOrderStatus()feature_orders/lib/src/application/add_order_note.dart— new use case wrappingaddOrderNote()feature_orders/lib/src/application/create_order.dart— new use case wrappingcreateOrder()feature_orders/lib/src/application/orders_controller.dart— addedisUpdating,lastActionResult,updateOrderStatus(),addOrderNote(),createOrder(),consumeActionResult(),_reloadAndRefresh()with filter/search persistence after writes; write use cases are optional named params for backward compatibilityfeature_orders/lib/feature_orders.dart— expanded barrel exports for all new types and use casesfeature_orders/test/feature_orders_test.dart— expanded domain tests: Order (copyWith, defaults, computed props), OrderItem, OrderStatus, OrderActionResult, barrel smoke testfeature_orders/test/fake_orders_repository_test.dart— expanded with write method tests: updateOrderStatus (4), addOrderNote (6), createOrder (4)feature_orders/test/orders_controller_test.dart— expanded with write-side tests: updateOrderStatus (6), addOrderNote (6), createOrder (4), consumeActionResult (3), filter/search persistence (2); read-side tests preservedkell_web/test/dashboard/application/dashboard_controller_test.dart— updated_StubOrdersRepositoryto implement expandedOrdersRepositorycontractkell_creations_apps/tools/run_all_tests.sh— addedfeature_ordersandkell_mobiletoTESTABLElist
- tests: passed (90/90 feature_orders, 24/24 kell_web — all passing)
- analyze: passed (dart analyze --fatal-infos — no issues found in feature_orders and kell_web)
- brief updated: yes
feat/orders-page-ui
- status: merged to main
- date: 2026-07-10
- inspection: complete
- implementation: complete
- files changed:
feature_orders/lib/src/presentation/orders_page.dart— full orders page with search bar, status filter chips (All / Pending / Processing / Shipped / Delivered / Cancelled), order count display,OrderCardlist, master-detail wide layout, push-navigation narrow layout;initialFilter,initialQuery,initialSelectedIdconstructor params;onViewProductandonViewInventorycross-feature callbacksfeature_orders/lib/src/presentation/widgets/order_card.dart—OrderCardwith order ID, customer name, date, status chip, item count, and totalfeature_orders/lib/src/presentation/widgets/order_detail_panel.dart—OrderDetailPanelwith customer info, shipping address, line items table, order total, order notes, status update dropdown, Add Note button, andisUpdatingloading indicator; optionalonViewProduct/onViewInventorycross-feature links per line itemfeature_orders/lib/src/presentation/widgets/order_status_chip.dart—OrderStatusChipmappingOrderStatusto label and colorfeature_orders/lib/src/presentation/widgets/add_note_dialog.dart—AddNoteDialogwith text field, empty-note validation, andAddNoteDialogResultvalue objectfeature_orders/lib/src/presentation/orders_action_snack_bar.dart—showOrderActionSnackBar()helper for success/failure feedbackfeature_orders/lib/feature_orders.dart— expanded barrel exports for all new presentation types andOrdersControllerfeature_orders/test/widgets/orders_page_test.dart— 25 new widget tests coveringOrderDetailPanel(14),AddNoteDialog(3),OrdersPage(6), and_EmptyOrdersRepositorytest double
- tests: passed (115/115 feature_orders, 24/24 kell_web — 139 total for affected packages)
- analyze: passed (dart analyze — no issues found)
- brief updated: yes
feat/orders-mobile-surface
- status: merged to main
- date: 2026-07-10
- inspection: complete
- implementation: complete
- files changed:
kell_mobile/lib/pages/mobile_orders_page.dart— newMobileOrdersPagewith search bar, horizontal status filter chips (All / Pending / Processing / Shipped / Delivered / Cancelled), order count display,OrderCardlist at 160px height, pull-to-refresh,_detailPageActiveguard to suppress behind-route SnackBarskell_mobile/lib/pages/mobile_order_detail_page.dart— newMobileOrderDetailPagewrapping sharedOrderDetailPanel; StatefulWidget with local controller listener for SnackBar feedback; confirmation dialog before status changes; haptic feedback (mediumImpact for status, lightImpact for note additions);SafeAreawrapperkell_mobile/lib/shell/mobile_shell.dart— Orders tab (case 3) switched from sharedOrdersPagetoMobileOrdersPage; removed unusedfeature_ordersdirect importkell_mobile/test/widget_test.dart— added 6 new Stage 6B tests: Orders tab search bar, status filter chips, order count, order card navigation to detail, confirmation dialog for status change, back navigation returning to orders list — 20 total kell_mobile tests
- tests: passed (20/20 kell_mobile, 115/115 feature_orders — all passing)
- analyze: passed (dart analyze --fatal-infos — no issues found)
- brief updated: yes
feat/inventory-mobile-surface
- status: merged to main
- date: 2026-07-10
- inspection: complete
- implementation: complete
- files changed:
kell_mobile/lib/pages/mobile_inventory_page.dart— newMobileInventoryPagewith search bar, horizontal status filter chips (All / In Stock / Low Stock / Out of Stock / Draft), item count display, compact_MobileInventoryCardlist at 120px height showing name, SKU, status chip, and quantity-on-hand, pull-to-refresh,_detailPageActiveguard to suppress behind-route SnackBarskell_mobile/lib/pages/mobile_inventory_detail_page.dart— newMobileInventoryDetailPagewrapping sharedInventoryDetailPanel; StatefulWidget with local controller listener for SnackBar feedback; showsshowAdjustQuantityDialogon Adjust Quantity tap; haptic feedback (mediumImpact on result, lightImpact on successful adjust);SafeAreawrapperkell_mobile/lib/shell/mobile_shell.dart— Inventory tab (case 1) switched from sharedInventoryPagetoMobileInventoryPage; removed unusedfeature_inventorydirect importkell_mobile/test/widget_test.dart— added 6 new Stage 6C tests: Inventory tab search bar, status filter chips, item count, inventory card navigation to detail, adjust quantity dialog, back navigation returning to inventory list — 26 total kell_mobile tests
- tests: passed (26/26 kell_mobile, 75/75 feature_inventory — all passing)
- analyze: passed (dart analyze --fatal-infos — no issues found)
- brief updated: yes
chore/analyze-cleanup-and-tracker-sync
- status: merged to main
- date: 2026-05-30
- inspection: complete
- implementation: complete
- files changed:
feature_wordpress/test/product_publishing_controller_test.dart— removed 3 unnecessary_import directives (get_product_drafts, product_publishing_controller, publish_product)feature_wordpress/test/widgets/product_draft_card_test.dart— removed 1 unnecessary_import directive (product_draft_card)feature_wordpress/test/widgets/product_preview_panel_test.dart— removed 1 unnecessary_import directive (product_preview_panel)feature_wordpress/test/widgets/publish_status_chip_test.dart— removed 1 unnecessary_import directive (publish_status_chip)feature_wordpress/test/widgets/status_action_snack_bar_test.dart— removed 2 unnecessary_import directives (product_publishing_controller, status_action_snack_bar)kell_mobile/test/widget_test.dart— removed unusedproductCardslocal variabledocs/development/build_execution_tracker.md— updated Stage 7A to merged, synced current statusdocs/development/master_development_brief.md— updated next recommended branch, validation state, test counts
- tests: passed (311/311 feature_wordpress, 14/14 kell_mobile, 24/24 kell_web, 41/41 design_system, 20/20 core — 410 total)
- analyze: passed (dart analyze --fatal-infos — no issues found across all packages)
- brief updated: yes
feat/integrations-contracts
- status: merged to main
- date: 2026-07-11
- inspection: complete
- implementation: complete
- files changed:
integrations/lib/src/api_exception.dart— newApiExceptionbase class withstatusCode,message,body; replaces placeholderCalculatorclassintegrations/lib/src/api_client.dart— newApiClientabstract class withinitialize(),dispose(),isReady,execute<T>()lifecycle contractintegrations/lib/src/retry_policy.dart— newRetryPolicyabstract class;NoRetryPolicy(never retries);ExponentialBackoffRetryPolicy(doubles delay per attempt, capped atmaxDelay, retries on 5xx and network errors)integrations/lib/src/rate_limiter.dart— newRateLimiterabstract class;NoRateLimiter(no-op);TokenBucketRateLimiter(maxRequests per window, queues excess requests)integrations/lib/src/integration_health_check.dart— newHealthCheckResultvalue object withhealthy/unhealthynamed constructors;IntegrationHealthCheckabstract contractintegrations/lib/src/webhook_handler.dart— newWebhookEvent,WebhookProcessingStatusenum,WebhookResultwithprocessed/ignored/failedconstructors;WebhookHandlerabstract contractintegrations/lib/src/channel_adapter.dart— newChannelProduct,ChannelOrder,ChannelOrderItem,ChannelInventoryCountneutral value objects;ChannelAdapterabstract contract with products/orders/inventory operationsintegrations/lib/integrations.dart— replacedCalculatorplaceholder with barrel exports for all 7 new contract filesintegrations/test/integrations_test.dart— replaced placeholder test with 38 tests covering all contracts and value objectsfeature_wordpress/lib/src/data/woo_commerce_api_client.dart—WooCommerceApiClientnow implementsApiClient; addedinitialize(),isReady,execute<T>();dispose()also resets_readyfeature_wordpress/lib/src/data/woo_commerce_api_client.dart—WooCommerceApiExceptionnow extendsApiExceptioninstead of implementingExceptiondirectlyfeature_wordpress/pubspec.yaml— addedintegrations: path: ../integrationsdependencykell_creations_apps/tools/run_all_tests.sh— addedpackages/integrationsto bothTESTABLEandANALYZABLElists
- tests: passed (38/38 integrations, 319/319 feature_wordpress — 357 total for affected packages)
- analyze: passed (dart analyze --fatal-infos — no issues found in integrations and feature_wordpress)
- brief updated: yes
feat/bulk-operator-workflows
- status: merged to main
- date: 2026-05-30
- inspection: complete
- implementation: complete
- files changed:
feature_wordpress/lib/src/data/wordpress_product_mapper.dart—toWooCommerceStatus()now mapsPublishStatus.pendingReview→'pending'instead of throwingArgumentError; onlyunpublishedthrowsfeature_wordpress/lib/src/presentation/product_publishing_page.dart— added_confirmBulkPublish()and_confirmBulkSubmitForReview()confirmation dialogs; updated_MultiSelectBarwithonBulkPublishandonBulkSubmitForReviewcallbacks; added "Publish" and "Submit for Review"OutlinedButton.iconbuttons; refactored bar layout fromRowtoWrapfor responsive overflowfeature_wordpress/test/wordpress_product_mapper_test.dart— updatedpendingReviewtest: now expects'pending'return value instead ofArgumentErrorfeature_wordpress/test/product_publishing_controller_test.dart— added 3 new bulk tests: publishes all selected products, submits all for review, handles mixed statuses to publishedfeature_wordpress/test/widgets/product_publishing_page_test.dart— added 5 new widget tests: multi-select bar shows Publish button, Publish confirmation dialog, Submit for Review confirmation dialog, cancel preserves selection, plural count in dialogfeature_wordpress/test/wordpress_product_publishing_repository_test.dart— removedpendingReviewfrom unsupported-throws test; onlyunpublishedasserted
- tests: passed (319/319 feature_wordpress)
- analyze: passed (dart analyze --fatal-infos — no issues found)
- brief updated: yes