Files
familysync/.planning/phases/17-ui-optimization-polish/17-DISCUSSION-LOG.md
T

6.0 KiB

Phase 17: UI Optimization & 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-17 Phase: 17-ui-optimization-polish Areas discussed: Scope breadth, Fix technique, Regression guard, Phase shape, Branding asset ownership, Dark-mode depth, Styling-refresh boundary, Logo/brand direction


Phase shape / sequencing

Initial framing was a CSS-only layout-polish phase. Mid-discussion the user expanded scope to also include branding/logo assets (started but unfinished, incl. favicon), groundwork for themes (dark mode), and a modern styling refresh. This pushed past the ROADMAP's original "CSS/layout only, not a redesign" boundary, so scope was re-negotiated.

Option Description Selected
One phase, four workstreams (A layout + B branding + C dark mode + D styling) Keep everything in Phase 17
Split — keep layout + branding + token groundwork; defer dark theme & styling Bound the phase, route the rest to backlog
One phase but styling "light" A+B+C full, D incidental only

User's choice: "spin dark mode and styling into /gsd-capture --backlog. We do the rest in the phase." → Phase 17 = layout polish + branding + theme-token groundwork. Shipped dark theme → backlog 999.20; styling refresh → backlog 999.21 (future milestone). Notes: ROADMAP Phase 17 goal/scope updated to match; two backlog items created and committed (916fb34).

A — Scope breadth (layout)

Option Description Selected
Seed defect + targeted sweep Fix overlap, then run Phase 7 layout.spec checklist across phone routes ✓ (implied by keeping the layout workstream)
Seed defect only Fix just the bottom-bar overlap
Broad small-viewport audit Free-form audit of every phone screen

User's choice: Layout workstream retained as the bounded, checklist-driven sweep (D-01). Notes: Phase 7 layout.spec.ts assertions are the checklist.

A — Fix technique & regression guard

Option Description Selected
Shared bar-height token + padding / inline calc / shrink column CSS technique for the overlap (researcher decides)
Add overlap assertions to layout.spec / manual playwright-cli / both Regression guard (researcher decides)

User's choice: "5 - have the researcher decide." Notes: Delegated to research/planning (D-02). Default lean noted: shared --bottom-chrome-h token + CI assertion, but researcher decides on the merits.

B — Branding asset ownership

Option Description Selected
AI-generate in-phase Claude generates logo + full icon set, wires in, user approves
User supplies final art User provides logo, Claude derives icon set
Generate placeholders now, real art later Stopgap improved mark via the seam

User's choice: "2a" — AI-generate in-phase. Notes: No existing logo draft found beyond the "FS" placeholder + stub icons. Full icon set incl. proper maskable + favicon.ico/svg (D-03/D-04/D-05).

C — Dark-mode depth

Option Description Selected
Groundwork only Themeable token restructure, light stays default; dark flippable later
Ship working dark mode Finished dark theme via prefers-color-scheme
Ship dark mode + in-app toggle Plus persisted light/dark/system toggle

User's choice: "3a" — groundwork only. Combined with "spin dark mode into backlog," the token restructure stays in-phase; the shipped dark theme + toggle go to backlog 999.20 (D-06). Notes: Light remains the sole shipped theme this phase.

D — Styling-refresh boundary

Option Description Selected
In-system polish Modernize within existing design system
Component-level refresh Rework high-visibility surfaces
Broader visual overhaul Open-ended modern restyle (deferred)

User's choice: "Dont do 4 - that goes into future milestone." → routed entirely to backlog 999.21. Notes: Redesign risk; own track in a future milestone.

Logo / brand direction

User's choice (free-text): "FamilySync is the brand — family orientated. I like caricature family kind of vibes, warm tones, rounded corner sort of thing. Something that makes you feel comfortable and at home." Notes: Captured verbatim into CONTEXT Specific Ideas as the acceptance lens for generated logo/icon options. Current theme-color #4A90D9 (cool blue) may be revisited toward warm tones within light-theme scope.


Claude's Discretion

  • Fix technique + regression-guard mechanism for the layout overlap (delegated to researcher — D-02).
  • Specific small-viewport issues surfaced by the layout.spec sweep (fix as found, no behaviour change).
  • Logo visual execution within the brand brief, subject to user approval at a checkpoint.

Deferred Ideas

  • Shipped dark theme + light/dark/system toggle → backlog 999.20.
  • Modern visual styling refresh → backlog 999.21 (future milestone).
  • (Reviewed, not folded) 2026-06-10-gitea-ci-regression-and-docker-publish.md — weak keyword match, already-shipped CI work, unrelated to this UI phase.

Process note — interactive question tool blocked

The AskUserQuestion tool returned "Permission denied by hook" during this discussion. Investigation: no configured PreToolUse hook or permission rule matches AskUserQuestion (user-settings matchers are only Write|Edit/Bash/MultiEdit; defaultMode: bypassPermissions; no managed settings). The block correlates with an active background subagent (the Phase 19 --fix --auto fixer) running concurrently — interactive questions are suppressed while a background agent is live. Discussion proceeded via the plain-text numbered-list fallback.