Relationship Goals — define & track intentional relationship growth — Phase 3: Goals dashboard & overview #101
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#101
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?
Phase 3: Goals dashboard & overview
Show goals aggregated across all relationships.
Decomposed from kimi_agent_kin_app_sync#80
Implementation scope (decided 2026-06-28)
Goals are scoped to person/relationship. Surface:
Goalstab/section insidePersonDetail.tsxNo top-level /goals dashboard.
⏸ Needs Decision
What needs to be decided?
blocked:needs-decisionlabel to route back to triage.Blocking factors:
Scope: small Risk: low Spec: partial Type: feature
Summary: Add a Goals dashboard section to Home.tsx showing aggregate contact-frequency goal stats across all people, with at-risk/overdue breakdowns and click-through to person detail.
Suggestion: Single new
GoalsDashboard()component in Home.tsx deriving all data from existing store (people.contactFrequencyGoal, interactions). Active goals card = count of people with goal>0. Goals at risk = existing isOverdue/isNearOverdue logic. 'Recently completed goals' needs reinterpretation since contactFrequencyGoal is a perpetual cadence — suggest showing 'On track' (contact within goal) or a new completion-tracking concept. Insert between QuickStats and EmergentObservations. 1 file, no DB/types changes.Rationale: Scope is small because it's additive UI in a single file (Home.tsx), reusing existing store data and date-utils helpers. Risk is low — no existing paths are modified, no DB schema changes, no new routes. Spec alignment is partial because 'recently completed goals' has no mapping to the current data model (contactFrequencyGoal is an ongoing cadence, not a completable task). The remaining checklist items map cleanly to existing data. No new tables or types needed.
To unblock: Remove the
blocked:needs-decisionlabel. The triage will apply the appropriate outcome based on your choice above.