Enforce deterministic, warning-free builds#949
Open
robinebers wants to merge 3 commits into
Open
Conversation
This was referenced Jul 10, 2026
fc6ee98 to
ceb9b1d
Compare
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.
TL;DR
Keep Swift builds warning-free and make local app launch verification deterministic. This compact replacement preserves the useful build-quality changes from #912 and #938 in three reviewable commits.
What was happening
OpenUsagefor the app.What this changes
OpenUsage.appprocesses to exit and polls the exact staged executable for up to five seconds.Heads-up
Tests
bash -n script/build_and_run.shswift test: 962 XCTest tests passed, 3 expected skips; 3 Swift Testing tests passedOpenUsageprocesses present,verifylaunched the exact staged app andbuildstopped only that app./script/build_and_run.sh verify: release build, staging, Apple Development signing, launch, and exact-process verification passedcodesign --verify --deep --strict dist/OpenUsage.appgit diff --checkNote
Low Risk
Mostly build hygiene, test refactors, and dev tooling; the presentation extraction is intended to be behavior-neutral for the Codex resets UI.
Overview
SwiftPM now treats warnings as errors for the app and test targets, with small fixes across providers (drop redundant
awaiton synchronousModelPricingStore.current()), Copilot date formatting (removenonisolated(unsafe)), snapshot cache, and a concurrency-safe off-main-thread test.Rate-limit reset popover logic moves from
RateLimitResetsDetailintoRateLimitResetsPresentationso timeline/count resolution stays testable without SwiftUI; the view only renders.script/build_and_run.shwaits up to five seconds for prior OpenUsage app processes to exit, matches PIDs by staged bundle path (not name alone), and polls launch forverify. AGENTS.md anddocs/debugging.mddocument the warning policy, lifecycle behavior, and that the dev bundle id isolates preferences while provider credentials stay shared.Reviewed by Cursor Bugbot for commit ceb9b1d. Bugbot is set up for automated code reviews on this repo. Configure here.