Skip to content

Tighten status language and diagnostics for TestFlight #80

@cbusillo

Description

@cbusillo

Objective

Make the app and widget status language calm, plain, and diagnosable so beta users understand whether data is available, close to limit, limited, stale, unknown, refreshing, or failed.

Finish Line

User-facing copy avoids scary/raw technical messages in primary UI, while diagnostics preserve enough detail to debug provider failures and runtime issues.

Current Status

State: Active
Next action: Audit visible status strings across app, widget, provider rows, and settings.
Blocked by: None.
Last verified: 2026-05-13 burn pace reset-boundary behavior changed to measuring burn instead of false over pace.

Scope

  • In: user-facing status copy, forecast/burn language, diagnostics surface, last refresh health, and provider failure wording.
  • Out: detailed charting/history and notifications.

Acceptance Criteria

  • Primary UI uses plain states: available, close to limit, limited, unknown, stale, refreshing, refresh failed.
  • Raw 401/403/429 details do not appear as the primary explanation unless diagnostics are open.
  • Burn-rate/forecast language does not show red/over-pace when the ratio cannot be computed.
  • Diagnostics show last refresh time, last successful provider refresh, stale/failure provider reports, and runtime baseline guidance.
  • Widget empty/setup state stays simple and does not become a dashboard.

Relationships

Parent: #76
Related: #65

Validation

Use UI review/screenshots where possible plus focused tests for forecast/status copy.

Decisions

  • Prefer calm uncertainty over false precision.
  • Keep raw provider details behind diagnostics/troubleshooting.

Open Questions

  • Should diagnostics live in Settings, provider detail, or a dedicated Troubleshooting page for beta?

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:donePlan completed or superseded

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions