Skip to content

Bring Watch accounts and complications into the shared Horizon design - #820

Merged
shiny-code-app[bot] merged 7 commits into
mainfrom
work/cp-810-d1
Oct 11, 2026
Merged

shiny-code-app[bot] merged 7 commits into
mainfrom
work/cp-810-d1

Conversation

@shiny-code-app

@shiny-code-app shiny-code-app Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

The Watch already had shared Horizon account rows, but pooled OpenAI pace appeared before them, names and reset/outcome text clipped, and inline/corner complications used the older limit selection. Circular account faces also evaluated against the wall clock and lacked a visible Saved cue.

Put account answers before pooled pace detail, give names and timing room to wrap with scaled type, and keep a prominent capacity number with explicit window/left wording. Reuse the existing Watch Horizon components, normalized account answers and provider/Saved color tokens. All four account complication families share one focus-account presentation; circular uses the entry date and marks Saved/unknown values. Preserve older-publisher and provider-access fallbacks. Legacy app rows now align their remaining number, bar and spoken quantity. Saved rows suppress Use next.

The design note and its synthetic before/proposed screenshots were posted before shipping implementation. Watch-specific gallery adaptation exercises account views using existing synthetic fixture identities; the fixture catalog is unchanged. Evidence notes distinguish simulator captures, host-rendered rows and physical placement.

Validation: companion behavior tests; render/OCR checks for long names, labelled capacity and Saved state at 156/198 points; repository commit gate; native Watch app/extension, iOS and Watch simulator builds. The final Swift lane passed all 1,280 tests. Three unchanged one-second Watch cache tests timed out during concurrent native builds, then passed alone and in the full 1,280-test rerun after those builds ended. The commit gate's Python lanes and Swift build passed. JetBrains inspected ten Swift files and returned UNKNOWN / scope_semantic_coverage_missing because the configured PyCharm lacks Swift semantics; its project closed with no tracked/index mutation. The simulator does not support changing Watch dynamic text through simctl; on-device enlarged-text and placed-face presentation remain unverified.

Anthropic Claude Opus 5.5 reviewed the branch twice. Saved-focus drift, spoken/visible-window mismatch, assumed-state wording, unknown speech and circular fitting findings were fixed. The shared selection replay freezes ranking at the last observation and returns the original Saved account for rendering; tests cover failed providers, stale readings, passed reset deadlines, and every account excluded from Use next. The 40-point assumed-reset render reproduced clipped digits, and the revised numeral/qualifier layout passes render/OCR checks at 40 and 50 points. The general OCR-flakiness suggestion was declined without a reproduced OCR failure; this follows the repository's existing Vision render test approach. Corner label visibility remains a placed-WidgetKit check under the existing physical acceptance step.

Simulator shared-view screenshots (synthetic operator gallery):

App Circular Rectangular
Watch account overview Circular account capacity Rectangular account capacity

Device test notes after #808 delivers the matching build: confirm the Watch build, restart Watch while preserving complications, and compare account capacity/reset/Saved state with the Mac. Check long names and larger text, listen to the leading named window in VoiceOver, then glance at all four placed complication families. Confirm the corner Saved/Assumed wording on the actual face because WidgetKit controls its gauge label. Simulator/shared-view captures do not establish that acceptance. #810 remains open for Chris's device confirmation.

Refs #810. No #807/#808 implementation, signing or delivery settings changed. The canonical signed Production Mac was preserved. Stop at the Supervisor's merge-train handoff; no label, merge or release mutation.

@shiny-code-app

Copy link
Copy Markdown
Contributor Author

CP-810-D1 source handoff; CI pending at the 12:51 AM ET October 11 wall-clock deadline.

Head: 8c7ca26b9394fa1d23c7389637e97250f6f8a429. Hosted macOS build passed; self-hosted Swift tests and Analyze Swift are queued, with no failures. The repository's sole matching runner is online and busy. No retries, runner changes, train labels or merge were attempted. The watcher was stopped; there is no unattended continuation. Supervisor: resume current-head CI/review watching, handle any finding, then post the exact readiness handoff only after required checks pass. This is not yet Ready for the merge train.

Local evidence: all 1,280 Swift tests passed after the concurrent native builds ended, commit-gate Python/build lanes passed, native Watch/iOS and Watch simulator builds passed, and two outside-model reviews were accounted for. Simulator screenshots and stress renders are attached above. JetBrains returned UNKNOWN because PyCharm lacks Swift semantics; no IDE-green claim. Canonical Production Mac preserved; its installed source fingerprint is older. #808 owns delivery and Chris's matching-build Watch/placed-complication acceptance remains open.

Background Review: not yet observable for this head as of 12:52 AM ET; a post-turn review may still start. Full-history external-comment radar is clear. The clean pushed task worktree is retained until landing/closure. Own temporary simulator and capture shells were removed; own build bundles were quarantined. Shared Actions-cache bundles belong to other jobs and remain untouched, so global companion-cache preflight is not claimed green.

@shiny-code-app

Copy link
Copy Markdown
Contributor Author

Ready for the merge train

Head: 8c7ca26.

CP-810-D2 verified at 1:51 AM ET October 11: all six current-head checks passed, including Swift tests, macOS Release, Analyze Swift, CodeQL and Clean Trusted CodeQL Temp; zero failures/pending checks and no unfinished workflows. Available review threads are empty and the full-history external-comment radar is clear. The two Anthropic Claude Opus 5.5 reviews and accounted-for findings remain in the PR's validation record. JetBrains remains UNKNOWN / scope_semantic_coverage_missing because the configured IDE lacks Swift semantics; no IDE-green claim. No source changes were needed, so existing commit-gate, native-build and synthetic-capture evidence is retained without rerunning unchanged gates.

GitHub reports mergeable / BEHIND, with no conflicts. The brief permits conflict repair only, so the head was left unchanged; Supervisor routes the train's base integration and its fresh checks. No Client-review request or owner-review label is present. No train label or merge was performed.

This is source engineering handoff, not installed-runtime or physical readiness. #808 owns signed device delivery; #810 remains open for Chris's matching-build Watch, enlarged-text, VoiceOver and placed-complication acceptance. Canonical Production runtime preserved. Background Review is not yet observable for this head; no new GitHub review finding was observed. The watcher will stop at this authorized handoff; no unattended continuation.

@shiny-code-app shiny-code-app Bot added the ready-to-merge Every Code PR is ready for repository owner merge review label Oct 11, 2026
shiny-code-app Bot added a commit that referenced this pull request Oct 11, 2026
@shiny-code-app
shiny-code-app Bot merged commit 8006379 into main Oct 11, 2026
6 checks passed
@shiny-code-app
shiny-code-app Bot deleted the work/cp-810-d1 branch October 11, 2026 06:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Every Code PR is ready for repository owner merge review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants