Mike Kell
8facefdff1
feat(design-system): Stage 4A — design system expansion and shared widget migration
...
- Migrate EmptyStatePanel, SectionHeader, SummaryCard from kell_web into design_system as KcEmptyState, KcSectionHeader, KcSummaryCard
- Add KcTypography shared typography scale with full Material 3 text style hierarchy
- Add KcBreakpoints responsive layout breakpoint utilities (compact/medium/expanded/large)
- Add KcLoadingState and KcErrorState shared state widgets
- Update kc_theme.dart to use KcTypography.applyKcTypography()
- Update kell_web dashboard_page.dart to use design_system widgets directly
- Replace kell_web shell widget files with backward-compatible typedef re-exports
- Expand design_system tests from 3 to 41 (all passing)
- All existing tests passing: design_system 41/41, feature_wordpress 294/294, kell_web 24/24
- dart analyze clean across design_system and kell_web
2026-05-22 09:42:31 -04:00
Mike Kell
bee610ca2c
docs: add Stage 4 — Platform foundations and cross-platform readiness
Publish Docs / publish-docs (push) Successful in 1m9s
Details
2026-05-22 09:26:39 -04:00
Mike Kell
02090cde6a
docs: add suggested improvements to master development brief
Publish Docs / publish-docs (push) Successful in 1m3s
Details
2026-05-22 09:17:08 -04:00
Mike Kell
eaf3e70d30
docs: update master development brief — Stage 3B complete, Stage 3 done
...
Publish Docs / publish-docs (push) Successful in 1m10s
Details
Mark Stage 3B (list efficiency improvements) as complete with 294 tests passing. Update baseline commit reference, test count, and next recommended branch to Stage 4A (Android app shell).
2026-05-22 08:53:10 -04:00
Mike Kell
738336d953
Merge feat/list-efficiency-improvements into main — Stage 3B complete
2026-05-22 08:51:57 -04:00
Mike Kell
a0aea373c2
feat(wordpress): Stage 3B — list efficiency improvements
...
Add compact/standard view toggle (ListDensity enum) to controller and page, allowing users to switch between a dense single-row layout and the full metadata card view.
Add staleness detection: isStale() flags products not modified in 30+ days with a schedule icon; staleCount() returns the count of stale items in the current filtered view.
Add keyboard navigation: selectNextDraft/selectPreviousDraft with arrow-key wrapping support; page wires up Focus + onKeyEvent for arrow-down/arrow-up.
Update ProductDraftCard with compact layout variant (two-row dense metadata), stale indicator icon, and description snippet in standard mode. Wrap long text in Flexible widgets to prevent overflow.
Increase standard card height from 160px to 180px to accommodate the new description snippet row.
Export ListDensity and ProductSortField from barrel file.
Add 42 new focused tests covering listDensity toggle, staleness boundary conditions, staleCount with filters, keyboard navigation wrapping, and compact card rendering. All 294 tests pass, dart analyze clean.
2026-05-22 08:51:32 -04:00
Mike Kell
f3fbbca06d
Merge feat/multi-select-groundwork into main (Stage 3A complete)
Publish Docs / publish-docs (push) Successful in 1m26s
Details
2026-05-22 08:33:32 -04:00
Mike Kell
dfe7ae1811
feat: add multi-select groundwork to product publishing (Stage 3A)
...
Add read-only multi-selection state to the product publishing workspace, preparing for future bulk actions without introducing any bulk writes.
Controller (ProductPublishingController):
- Add _multiSelectedIds Set<String> for tracking multi-selected product IDs
- Add toggleMultiSelect(id) to add/remove individual IDs
- Add clearMultiSelection() to deselect all
- Add selectAllVisible() to select all currently visible (filtered/searched) drafts
- Add isMultiSelected(id), multiSelectedIds, multiSelectedCount, isMultiSelectActive getters
- Multi-selection is independent of single-item preview selection
- Multi-selection persists across load cycles and write operations
UI (ProductDraftCard):
- Add optional isMultiSelected/onMultiSelectToggle props
- Show leading Checkbox when multi-select mode is active
- Tapping checkbox toggles multi-select; tapping card body still fires single-item preview
UI (ProductPublishingPage):
- Add _MultiSelectBar widget above product list when multi-select is active
- Shows selected count, Select All button, and Clear button
- Replace deprecated withOpacity() calls with withValues(alpha:)
Tests:
- 15 new multi-select controller tests covering toggle, clear, select-all,
filter/search interaction, independence from preview selection, persistence
across loads and writes, and listener notifications
- Total: 262 feature_wordpress tests passing
Validation:
- dart analyze: clean (0 issues)
- flutter test: 262/262 passed
Changed files:
- lib/src/application/product_publishing_controller.dart
- lib/src/presentation/widgets/product_draft_card.dart
- lib/src/presentation/product_publishing_page.dart
- test/product_publishing_controller_test.dart
- docs/development/master_development_brief.md
2026-05-22 08:33:24 -04:00
Mike Kell
49a3702cec
Updated build status
Publish Docs / publish-docs (push) Successful in 1m34s
Details
2026-04-11 16:49:51 -04:00
mtkell
b81016df28
Merge pull request 'feat/publishing-ux-hardening' ( #6 ) from feat/publishing-ux-hardening into main
...
Publish Docs / publish-docs (push) Successful in 59s
Details
Reviewed-on: #6
2026-04-11 20:42:21 +00:00
Mike Kell
02cc75c655
feat: publishing workflow UX hardening (Stage 2B)
Validate Docs / validate-docs (push) Successful in 1m9s
Details
2026-04-11 16:40:10 -04:00
Mike Kell
73b4a49939
docs: update briefs for merged feat/post-write-consistency (Stage 2A)
...
- Mark Stage 2A complete in master brief and build tracker
- Refresh main baseline to 7acff83
- Next slice: feat/publishing-ux-hardening (Stage 2B)
2026-04-11 16:18:00 -04:00
mtkell
7acff83bf4
Merge pull request 'feat: post-write consistency hardening (Stage 2A)' ( #5 ) from feat/post-write-consistency into main
...
Publish Docs / publish-docs (push) Successful in 1m16s
Details
Reviewed-on: #5
2026-04-11 20:13:30 +00:00
Mike Kell
cf0889d4a9
feat: post-write consistency hardening (Stage 2A)
...
Validate Docs / validate-docs (push) Successful in 1m4s
Details
Add _refreshSelection() to ProductPublishingController to preserve and refresh selectedDraft by id after all write-triggered reloads. Selection stays on the same product with latest data, or auto-selects first visible item if the original leaves the active filter.
- 11 new post-write consistency tests (234 total)
- dart analyze clean
2026-04-11 16:11:06 -04:00
mtkell
8e7e4cbc69
Merge pull request 'feat/category-only-edit' ( #4 ) from feat/category-only-edit into main
...
Publish Docs / publish-docs (push) Successful in 54s
Details
Reviewed-on: #4
2026-04-11 19:56:47 +00:00
Mike Kell
b69edd3e4a
feat(wordpress): add category-only product edit (Stage 1B)
Validate Docs / validate-docs (push) Successful in 1m3s
Details
2026-04-11 15:54:51 -04:00
Mike Kell
24671f5f59
feat(wordpress): add category-only product edit (Stage 1B)
2026-04-11 15:54:40 -04:00
Mike Kell
3e233b0df6
Master Development Brief updated after Stage 1A merge
Publish Docs / publish-docs (push) Successful in 1m3s
Details
2026-04-11 11:15:37 -04:00
mtkell
cebac4c32f
Merge pull request 'tage 1A — Description-only product edit implemented' ( #3 ) from feat/description-only-edit into main
...
Publish Docs / publish-docs (push) Successful in 1m1s
Details
Reviewed-on: #3
2026-04-11 15:09:31 +00:00
Mike Kell
8d1a01581a
tage 1A — Description-only product edit implemented
Validate Docs / validate-docs (push) Successful in 56s
Details
2026-04-11 11:07:36 -04:00
Mike Kell
de44b02d76
added master development brief
Publish Docs / publish-docs (push) Successful in 1m3s
Details
2026-04-11 10:48:49 -04:00
Mike Kell
ae9c1dd90c
feat(feature_wordpress): add name-only product update
Publish Docs / publish-docs (push) Successful in 57s
Details
2026-04-11 10:36:00 -04:00
Mike Kell
f8f373b018
fix(feature_wordpress): allow pending review products to move to draft
Publish Docs / publish-docs (push) Successful in 1m12s
Details
2026-04-11 08:16:49 -04:00
mtkell
f9c5ef36da
Merge pull request 'Implement WooCommerce publishDraft flow' ( #2 ) from feature/wp-publish-draft into main
...
Publish Docs / publish-docs (push) Successful in 1m5s
Details
Reviewed-on: #2
## publishDraft Implementation Review
### 1. Cleanup Suggestions
**None.** After thorough review:
- **Production code** (39 lines total): Clean, minimal, correct. The `publish_status.dart` import is used by `updateProductStatus`. No dead code, no unused imports. `flutter analyze` reports zero issues.
- **Test code**: The `publishDraft` and `updateProductStatus` groups each have their own local JSON builder helper. The slight duplication is intentional — each is scoped to its group with the right defaults. No cleanup needed.
- **Static analysis**: Both `feature_wordpress` and `kell_web` pass `flutter analyze` with zero issues.
- **Dashboard test stub** (`_StubProductPublishingRepository.publishDraft` still throws `UnimplementedError`): Correct — the dashboard never calls `publishDraft`, so the stub is never exercised. No change needed.
### 2. Test Gaps Worth Adding (optional, not blocking)
| Gap | Priority | Rationale |
|-----|----------|-----------|
| `publishDraft` with 404 (product not found) | Low | Already covered implicitly by `WooCommerceApiClient.updateProduct` error handling, but an explicit 404 test would document the "missing product" scenario |
| `publishDraft` verifies auth header is present | Low | Auth is tested at the `WooCommerceApiClient` level already; adding it here would be redundant |
| `publishDraft` on already-published product (idempotency) | Low | Tests WooCommerce behavior, not our code |
None of these are blocking.
### 3. PR Readiness
**✅ Ready for merge.**
Evidence:
- `flutter analyze` — 0 issues on both packages
- `flutter test` — 99 pass (feature_wordpress), 24 pass (kell_web)
- 2 files changed, ~15 lines of net production code
- No architectural changes, no composition changes, no credential exposure
- Strict package boundaries preserved
- Runtime config via `--dart-define` unchanged
2026-04-06 00:20:50 +00:00
Mike Kell
ed2333d188
Implement WooCommerce publishDraft flow
Validate Docs / validate-docs (push) Successful in 1m24s
Details
2026-04-05 20:15:00 -04:00
Mike Kell
039612cb6e
Update main with product publishing
Publish Docs / publish-docs (push) Successful in 1m57s
Details
2026-04-05 20:03:10 -04:00
mtkell
d8f8fb6797
Merge pull request 'Add Kell Creations operations app foundation with feature slices and WooCommerce read-only integration' ( #1 ) from feat/inventory-first-slice into main
...
Publish Docs / publish-docs (push) Successful in 51s
Details
Reviewed-on: #1
2026-04-04 19:46:27 +00:00
Mike Kell
129a66f0cf
feat(kell-web): add runtime environment bootstrap for wordpress mode
Validate Docs / validate-docs (push) Successful in 1m5s
Details
2026-04-04 15:23:38 -04:00
Mike Kell
7ab526f083
feat(wordpress): add real WooCommerce read-only product repository
Validate Docs / validate-docs (push) Successful in 1m9s
Details
2026-04-04 15:14:38 -04:00
Mike Kell
23ea1bebe1
feat(workflows): add shared filtering search and selection persistence
Validate Docs / validate-docs (push) Successful in 1m0s
Details
2026-04-04 14:59:26 -04:00
Mike Kell
0f61badba6
feat(navigation): add cross-feature workflow handoffs
Validate Docs / validate-docs (push) Successful in 1m5s
Details
2026-04-04 14:42:03 -04:00
Mike Kell
c2049e2c46
feat(policy): add policy governance workspace vertical slice
Validate Docs / validate-docs (push) Successful in 1m17s
Details
2026-04-04 14:21:49 -04:00
Mike Kell
00a667d19e
feat(dashboard): compose live summary data across features
Validate Docs / validate-docs (push) Successful in 59s
Details
2026-04-04 14:07:21 -04:00
Mike Kell
3330ed23b3
feat(orders): add orders workspace vertical slice
Validate Docs / validate-docs (push) Successful in 52s
Details
2026-04-04 13:57:27 -04:00
Mike Kell
e06c2d8f94
refactor(kell-web): add app-level dependency composition
Validate Docs / validate-docs (push) Successful in 1m9s
Details
2026-04-04 13:38:51 -04:00
Mike Kell
226b21d22d
feat(products): add product publishing workspace vertical slice
Validate Docs / validate-docs (push) Successful in 50s
Details
2026-04-04 13:13:26 -04:00
Mike Kell
6b0e16dec6
feat(kell-web): add dashboard page and reusable shell widgets
Validate Docs / validate-docs (push) Successful in 45s
Details
2026-04-04 12:51:08 -04:00
Mike Kell
c7c12b3b0d
feat(kell-web): add shell routing and inventory vertical slice
Validate Docs / validate-docs (push) Successful in 53s
Details
2026-04-04 12:41:06 -04:00
Mike Kell
417430d996
feat(flutter): add Kell Creations design system and inventory first slice
Validate Docs / validate-docs (push) Successful in 41s
Details
2026-04-04 12:08: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
Mike Kell
5141cdeb26
Added VSCode settings and Flutter Development
Publish Docs / publish-docs (push) Successful in 55s
Details
2026-04-04 08:12:59 -04:00
Mike Kell
d4bab30f75
Add architecture traceability index
Publish Docs / publish-docs (push) Successful in 1m17s
Details
2026-04-03 20:06:29 -04:00
Mike Kell
c68b973b7a
Publish initial policy repository documentation
Publish Docs / publish-docs (push) Successful in 40s
Details
2026-04-03 19:56:34 -04:00
Mike Kell
e83949e2c3
Publish initial policy repository documentation
Publish Docs / publish-docs (push) Successful in 47s
Details
2026-04-03 19:55:25 -04:00
Mike Kell
06c2b68b30
Add policy repository structure and initial governance documents
Publish Docs / publish-docs (push) Successful in 50s
Details
2026-04-03 19:33:22 -04:00
Mike Kell
eddaac8287
Add deployment architecture
Publish Docs / publish-docs (push) Successful in 1m59s
Details
2026-04-03 17:25:33 -04:00
Mike Kell
8b418dd788
ready to commit policy workflow
Publish Docs / publish-docs (push) Successful in 1m21s
Details
2026-04-03 17:13:38 -04:00
Mike Kell
cbda03a432
Add inventory to production dynamic workflow
Publish Docs / publish-docs (push) Successful in 1m19s
Details
2026-03-30 20:05:55 -04:00
Mike Kell
c9cff949d9
Add social campaign publishing dynamic workflow
Publish Docs / publish-docs (push) Successful in 47s
Details
2026-03-30 19:23:21 -04:00
Mike Kell
80c260fdc8
Add product publishing dynamic workflow
Publish Docs / publish-docs (push) Successful in 39s
Details
2026-03-30 19:12:58 -04:00