Skip to content

Deliver the first watchOS companion experience #154

Description

@altaywtf

Parent

#123

What this delivers

A useful native watchOS companion for the new iOS app, built as a separate SwiftUI executable over the shared Apple core rather than a miniature phone UI. The shell and pairing identity start in #124; this child turns that foundation into a launchable companion experience.

Decisions and constraints

  • The Watch app is paired with the new iOS app and shares its product family, session model, SDK boundary, design tokens, and reusable feature logic.
  • The Watch app owns a watch-native UI; iOS, tvOS, and watchOS remain separate executable shells rather than one universal UI target.
  • Its bundle identity derives from the iOS identifier as required by Apple; signing and TestFlight packaging belong to Establish the new Apple app identity, signing, and TestFlight lanes #127.
  • Do not duplicate system Now Playing controls as the entire product. Before implementation, settle the smallest distinctly useful Watch surface in this issue and update the acceptance criteria with that observable contract.

Scope

  • Paired-session handoff and recovery states without asking the user to re-enter credentials on Watch.
  • One focused, useful Watch read/action loop selected and recorded here before implementation.
  • Watch-native loading, empty, offline, unpaired, expired-session, and error behavior for that loop.
  • Deterministic fixtures, simulator coverage, snapshots, and proof through Agent-readiness harness: autonomous bootstrap, run, and proof environment #146.
  • Shared-core changes only where they are genuinely platform-neutral; Watch-only behavior stays in the Watch shell.

Acceptance criteria

  • The exact first useful Watch surface and its non-goals are recorded in this issue before feature implementation begins
  • A signed-in iOS user can establish and recover the Watch companion session without entering put.io credentials on Watch
  • The selected Watch loop works end to end with watch-native navigation and state handling
  • The Watch app builds, tests, and captures visual proof through the shared harness
  • The companion is included in an installable iOS TestFlight build

Verification

Blocked by

Boundaries

No attempt to reproduce the full iOS or tvOS parity bars on Watch. No watch-only App Store product, workouts, HealthKit, widgets/complications, or background behavior unless the selected first surface genuinely requires a separately approved expansion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions