Relationship Goals — define & track intentional relationship growth — Phase 1: Goal model & data layer #99

Closed
opened 2026-06-09 06:21:17 +00:00 by Mark · 0 comments
Owner

Phase 1: Goal model & data layer

Add the data model and store layer for relationship goals.

  • Add RelationshipGoal type to src/lib/types.ts
    • id, personId, title, description
    • goalType: "frequency" | "depth" | "activity" | "milestone" | "reconnect" | "custom"
    • targetCadence: optional { interval: number; unit: "day" | "week" | "month" | "quarter" | "year" }
    • targetDate: optional ISO date for milestone/deadline goals
    • status: "active" | "paused" | "completed" | "archived"
    • priority: 1 | 2 | 3
    • steps: array of { id, title, done: boolean, doneAt?: string }
    • createdAt, updatedAt, completedAt?
  • Add goals array to Zustand store with CRUD actions: addGoal, updateGoal, deleteGoal, toggleStep, completeGoal
  • Add Dexie table for goals with personId index for efficient per-person queries
  • Add seed data with sample goals for existing demo people
  • Wire goals into IndexedDB persistence (load on app init, save on mutation)

Decomposed from kimi_agent_kin_app_sync#80

## Phase 1: Goal model & data layer Add the data model and store layer for relationship goals. - [ ] Add `RelationshipGoal` type to `src/lib/types.ts` - `id`, `personId`, `title`, `description` - `goalType`: `"frequency" | "depth" | "activity" | "milestone" | "reconnect" | "custom"` - `targetCadence`: optional `{ interval: number; unit: "day" | "week" | "month" | "quarter" | "year" }` - `targetDate`: optional ISO date for milestone/deadline goals - `status`: `"active" | "paused" | "completed" | "archived"` - `priority`: `1 | 2 | 3` - `steps`: array of `{ id, title, done: boolean, doneAt?: string }` - `createdAt`, `updatedAt`, `completedAt?` - [ ] Add `goals` array to Zustand store with CRUD actions: `addGoal`, `updateGoal`, `deleteGoal`, `toggleStep`, `completeGoal` - [ ] Add Dexie table for goals with personId index for efficient per-person queries - [ ] Add seed data with sample goals for existing demo people - [ ] Wire goals into IndexedDB persistence (load on app init, save on mutation) --- _Decomposed from [kimi_agent_kin_app_sync#80](https://forgejo.tail018ac4.ts.net/Mark/kimi_agent_kin_app_sync/issues/80)_
Mark closed this issue 2026-06-10 15:48:49 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/kimi_agent_kin_app_sync#99
No description provided.