Decompose: Break down #10 into implementable work units #11
Labels
No labels
blocked:depends-p1
blocked:gate-research
blocked:lint-failed
blocked:needs-decision
blocked:needs-human
blocked:verify-failed
bug
data-loss
documentation
enhancement
feature-request
in-progress
needs-decompose
needs-triage
pwa
quickfix
security
security/high
security/medium
test
test-coverage
triage-approved
vault
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/kimi_agent_kin_app_sync#11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Decomposition of #10: [smoke-test] Test coverage review: 96 source files, 3 test files (3.1%)
This issue decomposes the parent feature into independently implementable phases.
P1: Test infrastructure setup — install vitest, React Testing Library, jsdom, msw, and mock factories for Dexie/IndexedDB and Capacitor plugins. Creates vitest.config.ts, setupTests.ts with jest-dom matchers, and shared mock factories. Without this, no tests can run.
Files: package.json, vitest.config.ts, src/setupTests.ts, src/lib/mocks/db.ts, src/lib/mocks/capacitor.ts
P2: Pure utility function tests — utils.ts and date-utils.ts are pure functions with no external deps (no mocking needed). Fast to write, immediate coverage wins. ~15-20 tests covering edge cases for date formatting, relationship calculations, overdue alerts.
Files: src/lib/tests/utils.test.ts, src/lib/tests/date-utils.test.ts
Depends on: P1
P3: Data layer tests — db.ts (Dexie IndexedDB CRUD operations) and store.ts (Zustand state transitions). Uses mocks from P1. Covers contact CRUD, interaction logging, gift tracking, import/export, and store action dispatch correctness.
Files: src/lib/tests/db.test.ts, src/lib/tests/store.test.ts
Depends on: P1
P4: Shared UI component tests — each shadcn/ui wrapper and shared component (button, input, dialog, card, avatar, badge, etc.) gets a smoke test (renders without crashing) plus key interaction tests where applicable. Pure RTL, no store integration needed.
Files: src/components/tests/shared-components.test.tsx
Depends on: P1
P5: Page/screen component tests — Home, People, Dates, Settings, LogInteraction pages with store integration tests. Each page rendered with mocked Zustand store state covering loading, empty, populated, and error states. The most impactful slice for coverage %.
Files: src/pages/tests/Home.test.tsx, src/pages/tests/People.test.tsx, src/pages/tests/Dates.test.tsx, src/pages/tests/Settings.test.tsx, src/pages/tests/LogInteraction.test.tsx
Depends on: P3, P4
P6: App shell and native wrapper tests — App.tsx router smoke test, Capacitor native plugin wrapper tests (contacts import, camera, haptics, notifications, share). Covers any remaining uncovered files and pushes toward the 50% target.
Files: src/tests/App.test.tsx, src/lib/native/tests/plugin-wrappers.test.ts
Depends on: P5
Post-completion: When each phase is complete, comment on #10 with a summary of what was implemented.
GSD VERIFY phase failed after 3 attempts.
Conformance failure: Unexpected files modified: package-lock.json; Expected files not modified: src/test/factories.ts, src/test/mocks/capacitor.ts, src/test/mocks/server.ts, tsconfig.app.json, vitest.config.ts; The files on disk do not contain a single change specified in the plan or the implementation diff. The entire milestone is unimplemented.
This issue has been decomposed into the following sub-issues:
Each sub-issue has been labeled with
triage-approvedand is ready for queue routing.GSD VERIFY phase found no changes after implementation.
Worker output: ]11;?\