Repository navigation
Timbre for iPhone and Apple Watch (GDR-0023 phase 3, GDR-0026, ADR-0016) - #69
Open
ChaliceForAuri wants to merge 1 commit into
Open
ChaliceForAuri wants to merge 1 commit into
ChaliceForAuri wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
…0016) The companion, not a port: one hand-written project with four targets — the iPhone app, the Watch app, and a WidgetKit extension for each — every setting in xcconfig, each target linking exactly the packages its platform allows. iPhone: Today (the card with its labelled facts, hear it, spell it), the Library (search, kind filter, add, edit, swipe to forget, strength bars), Spell it (hold to talk through TimbreSpeech's new SpokenInput, the letters checked deterministically), the to-do key (hold, say it, it lands in Reminders; the list reads back), You (profile, share the file, what runs on-device). Three App Intents for Siri, Shortcuts and the Action Button. A URL scheme the widgets and the Control open the app on. Watch: one screen — say a to-do (TextFieldLink, Double Tap), today's word, Spell it, heard a word — and the Action Button's intent. Widgets: today's word on the Home and Lock Screens and as a complication, from a snapshot the app writes to the shared container (never the Library); a Control that opens the to-do key. GDR-0029 corrects GDR-0026: EventKit on watchOS is read-only (saveReminder is __WATCHOS_PROHIBITED), so the wrist parses and queues a to-do and the iPhone files it over WatchConnectivity — a new framework, so a new package, TimbreRelay, whose queue and messages are tested on the simulator. ReminderStore is read-only on the Watch by construction. Core: TodaySnapshot, SharedContainer, PracticeQueue, Todo is Codable (90 tests). ADR-0016 records the project; University module 15 teaches what it took; module 14 is corrected; CLAUDE.md, the architecture model and CI (companion build, relay tests) follow. Verified on the iPhone 17 simulator: all five tabs, adding an entry, persistence, the Reminders prompt. The Watch is compile-verified (no watchOS runtime here). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
ChaliceForAuri
force-pushed
the
companion
branch
from
October 21, 2026 20:59
7091582 to
d0791ad
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #68. The companion: one hand-written Xcode project, four targets, every setting in xcconfig, each target linking exactly the packages its platform allows (ADR-0016).
iPhone
SpokenInput, live text while held, the letters checked deterministically, pass/fail recorded as events; the practice queue is due-weakest-first, then freshest.timbre://today|todo|practice).Watch
One screen: say a to-do (
TextFieldLink, Double Tap as the primary action), today's word, Spell it, heard a word. The Action Button's intent. Nothing on the wrist needs the model.Widgets
Today's word on the Home and Lock Screens, and as a complication, from
today.jsonin the shared container; a Control Center / Lock Screen Control that opens the to-do key. Widgets never open the Library.A correction, by the book
The first build stopped on
saveReminder: EventKit is in the watchOS SDK and read-only there. GDR-0026 had promised a Watch that files its own to-dos. GDR-0029 supersedes that clause: the wrist parses and queues, the iPhone files, over WatchConnectivity (transferUserInfo, delivered when the phone is reachable, launching the app in the background). A new framework, so a new package, TimbreRelay;ReminderStore.canAddis false on the Watch by construction. University module 14 is corrected and module 15 ("Building the companion") teaches the lesson.Verified
xcodebuild -scheme Timbre -destination 'generic/platform=iOS Simulator'compiles all four targets. Lint clean.🤖 Generated with Claude Code