Files
familysync/.planning/milestones/v1.0-phases/06-ux-polish/06-DISCUSSION-LOG.md
T
Lucas Berger 982438dc10 style(13-03): apply Prettier formatting across repo
Mechanical reformat — no logic changes. 398 files changed, 19125
insertions(+), 16457 deletions(-). Prettier 3.8.4 with .prettierrc
(singleQuote:true, semi:true, tabWidth:2, trailingComma:all,
printWidth:100). Isolated per D-13-08 for reviewability.
2026-06-11 20:35:18 -04:00

5.1 KiB

Phase 6: UX Polish - Discussion Log

Audit trail only. Do not use as input to planning, research, or execution agents. Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.

Date: 2026-06-10 Phase: 06-ux-polish Areas discussed: Backlog scope (999.4/999.5), All-day visual, Event-form behavior (999.7/999.8), Recurring-series edit (999.9)


Backlog scope — pull in 999.4 / 999.5?

Option Description Selected
Neither — keep 6-item polish scope Phase 6 stays 999.2/3/6/7/8/9; 999.4/999.5 stay backlog
Pull in 999.4 (reminders) Add VALARM selector
Pull in 999.5 (provider setup) Add first-login app-password onboarding

User's choice: Keep Phase 6 as polish; move 999.4 and 999.5 to a new milestone 1.1 and start it via the proper GSD milestone flow. Notes: User wants the deferred items parked under milestone 1.1 explicitly, kicked off with /gsd-new-milestone. Sequencing (start 1.1 before vs after v1.0 ships) raised as a follow-up.


All-day visual treatment (999.6)

Option Description Selected
Full-width pill/bar Google/Apple-style all-day row bar
Background band / tint Subtle full-day band
Distinct shape/border Border/icon marker only
Let UI-phase decide Capture intent, defer treatment to /gsd-ui-phase

User's choice: Let UI-phase decide. Notes: Intent locked (must be distinguishable at a glance); concrete treatment delegated to /gsd-ui-phase.


Event-form behavior (999.7 end-tracking + 999.8 recurrence bound)

Option Description Selected
Preserve duration on start change End auto-advances to keep duration
Bound by "repeat until " RRULE UNTIL ✓ (primary)
Bound by "for N occurrences" RRULE COUNT (acceptable alongside/alt)

User's choice: Preserve duration; recurrence bound in scope (UNTIL primary, COUNT acceptable). Notes: IMPORTANT correction — end-not-tracking-start is NOT recurrence-specific; it affects every event (one-time, single-day, timed). Floor requirement: end must at least snap to the same day as the new start; user extends forward for multi-day. Off-by-one portion of 999.7 already fixed (commit f645644).


Recurring-series edit (999.9)

Option Description Selected
Whole series, with confirm Edit master VEVENT after a confirmation
Whole series, no extra confirm Edit series with helper note only
Let UI-phase decide the prompt UX Lock whole-series behavior, defer prompt UX

User's choice: Let UI-phase decide the prompt UX. Notes: Behavior locked (whole-series edit of master VEVENT). Per-occurrence / "this and following" stay deferred to v1.x. Confirmation/prompt wording delegated to /gsd-ui-phase.


Visual feel & sync feedback (user-added, post-questions)

User's input (verbatim intent): "For the UI polish, I want the whole thing to feel more distinct and modern. You can invoke the claude frontend-design skill for this to make it feel better. I want the sync indicators to actually spin too."

  • Modern/distinct visual refresh → /gsd-ui-phase to invoke the frontend-design skill (D-12). Flagged as widening "polish" toward a light refresh; kept to elevating existing surfaces, not a ground-up redesign.
  • Sync indicators must actually spin (D-13) — likely root cause: @keyframes spin defined locally in PushPermissionPrompt.tsx, not global, so SyncStateToast / LiveSyncIndicator don't animate.

Claude's Discretion

  • All-day visual treatment (999.6) — delegated to /gsd-ui-phase
  • Series-edit confirmation/prompt UX (999.9) — delegated to /gsd-ui-phase
  • Splash/interstitial copy (999.2/999.3) — open; starting points provided
  • Recurrence bound exact control set (UNTIL only vs +COUNT) — planning/UI call
  • In-flight-write preservation on session expiry (999.3) — nice-to-have, planner decides effort

Deferred Ideas

  • 999.4 (reminders/VALARM) → milestone 1.1
  • 999.5 (first-login provider setup) → milestone 1.1
  • 999.1 (provider abstraction) → backlog / 1.1 candidate
  • Per-occurrence & "this and following" recurring edits → v1.x