Skip to content

Bring TV accounts and Top Shelf into the Horizon design - #823

Merged
5 commits merged into
mainfrom
work/cp-811-d1
Oct 11, 2026
Merged

5 commits merged into
mainfrom
work/cp-811-d1

Conversation

@shiny-code-app

Copy link
Copy Markdown
Contributor

TV repeated recommended accounts, scrolled decision context away, and lost text contrast when cards were focused. Reuse the existing Horizon account answers and provider groups, make each account reachable once, and keep controls, freshness and the headline above scrolling. Read-only account and deadline detail cards support remote focus. The TV app and Top Shelf now share the Mac's provider and saved-state tokens; Full Detail Top Shelf cards show account names, while anonymous modes omit the extra identity line.

Refs #811. The design note was posted before implementation on the issue. Chris's physical acceptance follows matching signed delivery in #808; this PR contains source and synthetic simulator evidence.

Validation:

  • Full scripts/commit-gate.sh passed; 1,275 Swift tests and the Python lane. Targeted TV/companion run: 306 passed.
  • Native tvOS simulator app/Top Shelf and unsigned generic tvOS build passed. Gallery isolation passed; generated device bundles were quarantined by the repo helper.
  • JetBrains changed Swift-file inspection: UNKNOWN / scope_semantic_coverage_missing in the configured PyCharm route. Swift semantic IDE evidence is unavailable; the brief permits continuing with that recorded limitation.
  • Anthropic Claude Opus 5.5 review: redundant anonymous Top Shelf titles fixed in rendering and VoiceOver, with model tests; deadline button uses the shared inset focus style. Full Detail names are intentional, consistent with the existing dense account cards and accepted account-first design. The second review’s noncurrent timestamp and compact pressure findings were fixed with tests; shared title classification was reused in runtime evidence. The 10 pt account-row inset is intentional focus clearance. No blocking finding remains; reviews and their dispositions are recorded in the PR discussion.

Before and after, same synthetic healthy fixture in the tvOS 27.0 1080p simulator:

Before After
Repeated account cards and focus contrast loss Horizon provider groups and inset focus
Saved readings Named Top Shelf
Fixed saved-reading warning and warm-neutral capacity Provider and named account in Full Detail Top Shelf

Complete synthetic capture set: dense, saved, failed, empty, loading, reset-visible and anonymous states. Top Shelf images render the production renderer in memory; physical Home Screen placement remains separate.

After #808 installs the matching build, confirm named accounts and saved times at couch distance, remote navigation to account/details/deadlines, and anonymous Display modes on the TV and Home Screen. The canonical signed Production Mac was preserved. Signing, delivery settings and #807/#808 work are outside this PR.

@shiny-code-app

Copy link
Copy Markdown
Contributor Author

Read-only review: Anthropic Claude Opus 5.5, two passes. The anonymous Top Shelf title repetition was reproduced in the counts-only capture and fixed for both drawing and VoiceOver, with account-title/anonymous model tests. The second pass's all-refreshing Updated wording and missing compact pressure words were fixed and captured: loading now says Updating with last-seen time; dense cards identify Close to limit in words. Saved-account title and limited/loading colour cases were added to the tests. Shared account-title classification now also supplies runtime evidence. Both deadline buttons use the inset style, and read-only account/deadline detail cards support focus for long lists.

The 10 pt row inset is retained as intentional outline clearance; the provider summary is not a table column header. Named Full Detail Top Shelf cards are intentional under the accepted account-first design and match the existing dense named-card behavior; anonymous modes stay anonymous. The reset-visible fixture has no available banked deadline, so its capture is not claimed as focused-deadline or physical remote proof; #811's device acceptance after #808 remains authoritative.

Final local gate: 1,275 Swift tests plus Python lane; targeted TV/companion tests: 306 passed. Native simulator and unsigned device app/Top Shelf builds and gallery isolation passed. Seven-file JetBrains run 273 returned UNKNOWN / scope_semantic_coverage_missing, with unchanged lifecycle and completed helper cleanup. This is an IDE support gap, not Swift IDE-green evidence; the brief permits continuing. Generated bundle roots are quarantined and the task simulator is removed. The canonical signed Mac is preserved; no release, delivery/signing, owner-review, enqueue or merge mutation. Current-head CI is being watched in this turn. Background Review: not yet observable; neither private commissioned review remains in flight.

@shiny-code-app

Copy link
Copy Markdown
Contributor Author

CP-811-D1 CI handoff at 1:14 AM ET: source head ed95f93 is clean and pushed. The 30-minute current-head watch ended with macos-release passed, swift-tests and Analyze Swift still queued, zero failed checks, and two unfinished workflows. CI run https://github.com/cbusillo/context-panel/actions/runs/38112508430 and CodeQL run https://github.com/cbusillo/context-panel/actions/runs/38112508413 are the existing runs to continue; do not cancel or rerun healthy queued jobs. No new review items, unresolved review threads, or Client review requests were observed. Model-review findings and local verification are accounted for in the preceding review-disposition comment; JetBrains remains UNKNOWN, not green.

Supervisor next action: continue these exact current-head runs, then recheck head, required checks/workflows, review and any Client acceptance requirement. Post the readiness phrase and route through the merge train only after that readback passes. I have not posted Ready for the merge train, labeled, enqueued or merged this PR. The watcher is stopped; no unattended continuation is implied. Physical acceptance remains with Chris after matching delivery in #808. Signing and delivery settings were untouched.

@shiny-code-app

Copy link
Copy Markdown
Contributor Author

Ready for the merge train

Head SHA: ed95f93.

CP-811-D2 continued the existing runs without reruns or source changes. At 2:09 AM ET, all six current-head checks passed, including Analyze Swift, CodeQL and Clean Trusted CodeQL Temp; zero failed/pending checks and zero unfinished workflows. CI and CodeQL are complete. Fresh head, discussion, review and thread reads are clear; external-comment radar is clear. No owner-review label or Client-review request is present. Prior Anthropic Claude Opus 5.5 reviews and dispositions remain accounted for.

GitHub reports MERGEABLE / BEHIND, with strict up-to-date protection on main. This is the authorized Supervisor/train handoff, not direct-merge readiness: the train owns base integration and its resulting-head gates. There is no conflict to repair, so this conflict/CI/review-only session did not update the branch. No train label or merge action was taken.

The unchanged source retains its passing local commit gate, native builds and synthetic captures. JetBrains run 273 remains UNKNOWN / scope_semantic_coverage_missing because the configured PyCharm route lacks Swift semantics; the brief permits continuing, with no IDE-green claim or repeat inspection. Background Review: not yet observable for this head as of this readback; a post-turn review may still start. Signed delivery and Chris's real Apple TV/Top Shelf acceptance remain under #808/#811; source CI does not prove device acceptance. No release, signing, install or reset occurred.

@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 closed this pull request by merging all changes into main in e65b3a1 Oct 11, 2026
@shiny-code-app
shiny-code-app Bot deleted the work/cp-811-d1 branch October 11, 2026 06:50
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