Skip to content

Keep saved companion-widget capacity glanceable in the shared Horizon design - #819

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

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

Conversation

@shiny-code-app

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

Copy link
Copy Markdown
Contributor

Stale Small and Medium companion widgets discarded every Use next account, leaving empty cards despite saved readings. The existing Mac/companion Horizon component now keeps saved and updating capacity glanceable, using the same shapes, account terms and color tokens. Current recommendations still lead, known current limits remain explicit, and saved accounts never become recommendations. Freshness follows represented observations; Small taps open a represented account.

Refs #813. Design note. Capture provenance and host before/after.

Validation: the full commit gate passed with 1,279 Swift tests and the fast Python lane. Native iOS and visionOS Debug companion builds passed, including the embedded Watch targets. Refreshed iPhone and iPad capture UI tests passed and each converged to two byte-identical routed PNGs. Behavior and render tests cover mixed/current/saved/updating/unknown/paused states, exhausted current siblings, passed resets, observation provenance, shown-account taps, and full percentages at all four sizes in light and dark. JetBrains explicit five-file inspection is UNKNOWN / scope_semantic_coverage_missing; PyCharm lacks Swift semantic coverage. Its project closed with unchanged tracked state.

Independent review: Anthropic claude-opus-5-5 returned no blocking defect in three read-only passes. Fixed the current-exhaustion fallback, timestamp provenance/overflow, older-date density, paused-account headline, and unshown-account tap findings, with behavior tests. Historical pre-reset values intentionally remain Saved with their observation time, consistent with the accepted last-good-value rule; the pre-reset test prevents a live recommendation or invented refill. On three-provider Small, the Saved label and account identity stay visible and VoiceOver carries full observation age and recommendation context. Larger widgets show age visually. No new approval or execution rule changed.

Device test after #808 delivers this build: inspect Small/Medium with saved data and during refresh; confirm capacity stays visible with honest status, current data restores recommendations, a known current exhausted sibling stays explicit, and Small taps open a shown account. Check Large/Extra Large grouping, dates and account links. Chris's physical acceptance remains on #813; the captures below prove shared views, with home-screen placement and signed device execution still outstanding.

The installed canonical Production app is preserved; its source fingerprint predates this branch. No #807/#808 implementation, signing/delivery settings, production data, release or physical install changed. Supervisor owns train routing. Current engineering readiness and the Supervisor admission limitation are recorded in the CP-813-D2 handoff.

iPhone Medium · saved data · Light

iPhone Medium saved widget

iPad Large · dense accounts · Dark

iPad Large dense widget

@shiny-code-app
shiny-code-app Bot marked this pull request as ready for review October 11, 2026 04:19
@shiny-code-app

Copy link
Copy Markdown
Contributor Author

Engineering implementation and local validation are complete; CI is still queued at the 12:45 AM ET watch deadline. This is a Supervisor handoff, not Ready for the merge train yet.

Current head: 03839be, branch work/cp-813-d1. The current-head universal macOS Release check passed. Swift tests and Analyze Swift remain queued, with zero failures and two unfinished workflows. The only matching self-hosted runner was online and busy. Protected-branch metadata is BLOCKED; its remaining rules must be checked after CI settles. No owner-review label or Client review request was observed, and no external comment needs attention.

Supervisor: adopt the CI watch, address any current-head failure/feedback, wait for all required checks and CodeQL cleanup to finish, then comment Ready for the merge train and route through the train. If a Client review is requested or owner-review appears, apply the exact-current-head acceptance handoff from the brief. Do not treat the passing local gates as green CI.

The PR body owns the change, 1,279-test commit gate, native iOS/visionOS Debug builds, refreshed simulator captures, independent review accounting, and JetBrains UNKNOWN / Swift semantic coverage limitation. The explicit five-file IDE run closed with unchanged worktree state. Native builds/tests/reviews and the local watcher have stopped. Both owned simulators and their generated capture bundles are removed; the clean pushed worktree remains for this open PR and retires with dev-worktree after merge/closure. Public synthetic images are committed; private evidence remains through handoff/landing. The canonical Production runtime is preserved, with only its older-source fingerprint mismatch remaining and no stale local build bundles.

#813 remains open and plan:active. #808 delivers the matching build; Chris's real-device acceptance remains outstanding. No release, signing/delivery setting, production data, label or merge was changed. No Director decision is open.

@shiny-code-app

Copy link
Copy Markdown
Contributor Author

CP-FT-D1 stated blocker at the 1:15 AM ET October 11 watch deadline.

Head: 03839be. Final current-head receipt: three passed checks (macos-release, swift-tests, swift), one pending check, zero failures, one unfinished workflow. Analyze Swift remains queued with no assigned runner. The only matching self-hosted runner was last observed online/busy. Check evidence is complete and head-matching; review threads are available and empty, and no new review finding was observed. No retry is warranted for a queued job.

This PR is not yet Ready for the merge train. Supervisor next action: resume babysit-pr on this exact head, finish Analyze Swift, CodeQL and cleanup, handle actual CI/review findings, then recheck current-head/branch readiness before the instructed Ready handoff. GitHub reports MERGEABLE / BLOCKED. The scoped private Client-feedback read returned 403; do not infer absence of feedback or current-head acceptance from that denial. Verify any required Client routing through an existing authorized service surface. If a Client request or owner-review requires acceptance, use “Engineering ready; waiting for the Client's acceptance” only once engineering checks are complete.

Existing local/native/synthetic validation, outside-review accounting and JetBrains UNKNOWN remain recorded in the PR. #808 owns signed delivery and Chris's physical acceptance remains on #813. No new source/branch changes, reruns, labels, merge, release, install or device action occurred. Original pushed checkout and evidence remain preserved under their existing handoff; the owned watcher is stopped, with no unattended continuation.

@shiny-code-app

Copy link
Copy Markdown
Contributor Author

Ready for the merge train

Head: 03839be. CP-813-D2's current-head receipt at 2:03 AM ET on October 11: 6/6 passed, including Analyze Swift, CodeQL and Clean Trusted CodeQL Temp; zero failed/pending checks and zero unfinished workflows. Review threads are available and empty, no new finding was surfaced, and full-history external-comment radar is clear. Original independent-review accounting and local/native/synthetic validation remain in the PR body; the head is unchanged. JetBrains remains the recorded UNKNOWN / scope_semantic_coverage_missing, not IDE-green. Background Review: not yet observable for this head at this observation; a post-turn review may still start.

Supervisor owns enqueueing and landing. GitHub reports MERGEABLE / BEHIND, with no actual conflict; leave ordinary behind-base integration to the train. No source change, rerun, push, owner-review or train label, merge, release, install or device action was performed by D2.

Client-routing limitation for Supervisor admission: no GitHub owner-review label or Client-review request is visible, but the supported saved Client-decision read returned HTTP 403 / owner_review_read_failed. Authoritative absence of feedback or current-head acceptance is not proved. The existing standing-read issue owns the refusal: cbusillo/launchplane#3109 (comment). A repository-inventory read for the live GitHub repository ID returned missing, and the optional context helper is unconfigured; neither establishes Client routing. Verify the authoritative service-side invitation/acceptance state before enqueueing. If acceptance is required and outstanding, use Engineering ready; waiting for the Client's acceptance instead of admitting it.

#813 stays open and plan:active for the next agent action. #808 owns matching signed delivery, then Chris's physical home-screen acceptance completes the product finish line. No new Director decision is open in this bounded engineering follow-through.

@shiny-code-app

Copy link
Copy Markdown
Contributor Author

Ready for the merge train

Head: 03839be

@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 38714c2 Oct 11, 2026
@shiny-code-app
shiny-code-app Bot deleted the work/cp-813-d1 branch October 11, 2026 19:00
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