Files
calctext/_bmad-output/implementation-artifacts/7-7-icloud-sync.md
2026-03-16 19:54:53 -04:00

1.5 KiB

epic, story, title, status
epic story title status
7 7.7 iCloud Sync draft

Epic 7 — macOS App (Swift/SwiftUI)

Goal: A beautiful, native macOS app that feels like it belongs on the platform.

Story 7.7: iCloud Sync

As a macOS user with multiple Apple devices, I want my CalcPad settings and sheets to sync via iCloud, So that I can access my calculations on any device without manual import/export.

Acceptance Criteria:

Given the user is signed into iCloud on two Macs When the user changes a CalcPad setting (e.g., angle mode) on Mac A Then the setting syncs to Mac B via NSUbiquitousKeyValueStore And Mac B reflects the updated setting without restarting

Given the user creates a new sheet on Mac A When iCloud sync completes Then the sheet appears in the sidebar on Mac B

Given the user edits a sheet on Mac A while Mac B is offline When Mac B comes online Then the changes sync to Mac B and the sheet is updated

Given the user edits different lines of the same sheet on Mac A and Mac B simultaneously When both devices sync Then non-overlapping edits are merged successfully And the final document contains both sets of changes

Given the user edits the same line on Mac A and Mac B simultaneously When both devices sync Then a last-write-wins strategy is applied And no data corruption occurs (one version is chosen cleanly)

Given the user is not signed into iCloud When the app launches Then sheets are stored locally only and no sync errors are shown