Originally published on my blog. I am cross-posting it here because two parts seem worth arguing about with this crowd: enforcing layer boundaries in the package manifest so an agent cannot cross them, and the sync bug where a device clock lied and silently dropped data. I already had a working...
Source: [Dev.to](https://dev.to/vscarpenter/i-rebuilt-my-pwa-as-a-native-ios-and-mac-app-with-an-ai-agent-the-architecture-was-the-hard-part-186d)