Skip to content

Use one expiry-based account strategy and measured pace targets - #1115

Merged
shiny-code-app[bot] merged 8 commits into
mainfrom
work/cp1114-1111
Nov 12, 2026
Merged

shiny-code-app[bot] merged 8 commits into
mainfrom
work/cp1114-1111

Conversation

@shiny-code-app

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

Copy link
Copy Markdown
Contributor

Use next now spends capacity in deadline order and publishes the pace launching agents should follow. This fixes both skipping the marked account's earlier reset and spending credits while its last plan quota remains. Expiring banked resets and credits bring forward quota-depletion targets; the marked account keeps its measured cushion while other quota remains.

Claude reset inventory counts only positive general-week refills. Offers and model-only or unknown grants are shown separately. Credit runway stays unknown without measured spend, and reset capacity remains conditional on the Director applying it. The account setting's name is unchanged.

Refs #1114
Fixes #1112
Fixes #1113

Removed: heavy-week mode and saved hysteresis, use-last tiers, starter timing/state, weighted launch splits, and false general-reset capacity from offers/model grants.
Net lines: +66 (1,084 added, 1,018 removed; binary images excluded). Ranking and forecast together lose two lines. Growth supplies the 42-line measured credit-history estimator and regression coverage for the retired rules' replacement.

Validation

  • Both reported ordering scenarios failed first against main.
  • 178 affected Swift checks pass, covering parallel targets, replanning at refills/gates, credit-only work, paid fallback, passed deadlines, notification timing, reset advice, pending receipts, agent snapshots, shared companion observations and existing native view checks.
  • The optional Claude inventory connector check passes; swift build passes.
  • IDE: UNKNOWN, isolated_backend_unavailable. The isolated worker does not cover Swift; proceed under Q1333.
  • Independent model review: Anthropic claude-opus-5-5. Fresh design assessments and successive-reading checks reconciled the source findings. Final visual review covered all six old/new pairs; its findings are weighed in the head-bound review note.
  • Current-head CI passes the full Swift and routine Python lanes, universal Mac build, iOS/watchOS/tvOS companion builds and host reference comparison; CodeQL passes. The four prior timing failures did not recur. Simulator reference capture and comparison also pass. All current-head CI checks are green.

Reference images

The Mac and TV baselines should keep their account cards readable while adding the selected account’s target and deadline. The iPhone, Vision Pro, iPhone widget and Watch stress cells should show unknown measurements plainly and mark the next account. I inspected every new CI-rendered image; they show those facts without new clipping. The Watch capture retains its existing scroll position.

Cell Before After
macos.app/baseline.png Before After
ios.app/stress.png Before After
ios.widget/stress.png Before After
visionos.app/stress.png Before After
watchos.app/stress.png Before After
tvos.app/baseline.png Before After

Client test notes

Client change: Use next shows the provider target and the next account's share when parallel work is needed. On the next released build, compare accounts with different reset dates and confirm that the marked account drains above its cushion. Credit-only work can show a multiplier of recent work; unknown measurements remain visible. Reset advice prefers planned depletion, retains valuable partial-reset advice in the final day, and holds a reset while earlier-expiring credits are spent. Only you apply it. Include a reset inside its last day in that check. A pending-only wait shows its retry time; refresh or use a smaller batch. The reset list separates offers/model grants; the TV card, credit explanation and Use last help use the same strategy. The name is unchanged. The installed Production app was preserved; no installed-runtime acceptance is claimed.

The catalog guidance cleanup follows after this PR lands. Supervisor memory deletion and hand-set targets belong to the Supervisor handoff on #1114.

@shiny-code-app

Copy link
Copy Markdown
Contributor Author

Review result: weighed
Head: 8def0fb

Anthropic claude-opus-5-5 reviewed the implementation read-only. The CLI confirmed the model.

Acted on findings 1–10: unknown credits no longer suppress the known-capacity outage warning; targets account for known short-window room and report unproved feasibility; the requested reset depletion lead is a day and advice waits for zero; credit burn excludes time before quota reached zero; credits remain usable while another account is gated; companion evidence carries only normalized planning values; event-driven credit deadlines persist; batches account for pending short-window room and unmeasured batches are smaller; TV reads the shared strategy; unselected depletion predictions, duplicate exclusions, empty credit dictionaries and duplicated forecast calculation are removed. Restored useful assumption, multiple-mark, cushion and shared-observation coverage. Removed the speculative credit-at-risk amount from one balance.

Declined: a hard ceiling at today's measured burn would prevent adding real work, contrary to #1114. Known gate capacity bounds targets, unproved feasibility is explicit, and an unmeasured batch is limited to one pending launch per account. A known gated account still has quota, so it continues to hold the protected cushion under the Director's stated last-account rule; it no longer blocks usable credits. Unknown or saved quota is not treated as empty. Finding 11's suggestion to count Claude grants without explicit general-week coverage contradicts the specification; those grants remain unknown and cannot steer launches.

Confirmed the catalog consumer reads answers.useNext and launchOrder; it does not decode removed tiers, weights or starter fields. Its existing smaller-batch route supports bounded unmeasured launch orders. No schema-version change is needed for that consumer.

The reference-image update and a focused rereview remain before Ready.

@shiny-code-app

Copy link
Copy Markdown
Contributor Author

Review result: weighed
Head: fc8ed59

Review of record: Anthropic claude-opus-5-5, confirmed by the CLI, effort unknown. The source reviews are complete and weighed through their latest findings. Fresh read-only design assessments interrupted both patch cycles; local corrections afterward pass 178 focused checks and the native build. IDE remains UNKNOWN (isolated_backend_unavailable); Q1333 permits proceeding.

Acted on: qualified reset inventory; known-capacity outage warnings; measured credit-spend intervals and normalized companion transport; bounded pending batches and retry time; parallel per-account allocation; current credit units and mixed targets; retention of gated weekly quota for replanning; applicable valuable final-day reset advice; the shared application lead and forecast-resolution boundary; notification timing; qualified credit/deadline presentation; compact shared Mac/TV explanations and useful regression coverage. Banked resets are still applied only by the Director.

Declined with checked evidence:

  • The proposed cap using only currently ungated accounts would throttle productive work by ignoring capacity that returns at a gate and natural refill. In the reported A80/B30 example, B uses12 points during the first3h, A then uses80 before its10h refill, and the refreshed target becomes118/140≈0.84 points/h through B's refill. The new successive-readings regression verifies this. The earlier claimed two-day outage likewise assumes a target remains constant after a refill; the snapshot replans.
  • A hard cap at today's measured burn would prevent adding real work. Known short-window capacity caps allocation; unknown measurements remain explicit.
  • Unreadable other-account quota does not prove that account empty. Its cushion remains held under the exact last-with-quota requirement, with refresh/sign-in guidance.
  • Claude grants without explicit general-week coverage remain unknown, not general reset capacity.
  • Repeating unmeasured batch picks is not proof of room. The unchanged catalog consumer supports smaller batches and refresh. Its projected order and existing Codex sign-in fallback are retained, including later accounts whose current target is zero.
  • Fixture-derived numerical results check the documented horizon and units; they are not copies of policy constants. Removed the redundant same-cache forecast comparison and new wording-only assertions.

Source consumer compatibility was checked against the catalog's account_choice.py. The second PR removes its duplicated pacing instructions only after this PR lands.

Final visual review: Anthropic claude-opus-5-5 (CLI-confirmed, effort unknown), covering all six old/new image pairs at fc8ed59. It confirmed legibility, no clipping, correct fixture target arithmetic and consistent earlier-expiry picks on phone, widget and Vision Pro.

Visual findings weighed:

  • Declined the reported Watch mismatch: the committed watchos.app/stress.png visibly contains “Use next” on the first OpenAI A card. I reopened the exact committed PNG at original size and checked the renderer and row gate; the finding’s assertion that the tag is absent is contradicted by the image. No speculative fixture change or wording test was added.
  • The longer Mac explanation is absent from these six reference cells. This is a coverage limitation, not a reproduced clipping defect. The text wraps vertically and the shared presentation checks cover the content. No new fixture or finish line was added.
  • TV intentionally shows the compact target and deadline in its existing one-line slot. Detailed reset/cushion advice remains in the primary Mac app; the brief does not require every companion hero to repeat it. Retain the reviewed compact presentation rather than widen this change into a TV redesign.

All review findings are accounted for. The installed app was preserved; this source review and CI fixture evidence do not claim installed-runtime acceptance. Current-head CI is still required before Ready.

@shiny-code-app

Copy link
Copy Markdown
Contributor Author

Ready for the merge train

Head: fc8ed59

@shiny-code-app

shiny-code-app Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor Author

Launchplane completed the merge-train step for this pull request.

Launchplane finished the merge-train step for this pull request.

Launchplane manages this comment and will update it as the train moves.

shiny-code-app Bot added a commit that referenced this pull request Nov 12, 2026
@shiny-code-app
shiny-code-app Bot merged commit d7389ea into main Nov 12, 2026
10 checks passed
@shiny-code-app
shiny-code-app Bot deleted the work/cp1114-1111 branch November 12, 2026 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Heavy week skips the use-last account even when its quota lapses first Use next skips a use-last account with quota and spends credits instead

0 participants