fix(harness): scope local launch proof to smoke test - #175
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The updated harness documentation still references connectedAndroidTest terminology that doesn’t match the actual Gradle tasks invoked by prove.sh, which can mislead local proof usage.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
Open (1)
What changed in this PR
Scopes local harness “launch proof” instrumentation to the LaunchSmokeTest class so prove.sh (and the Gradle verification tasks it drives) don’t accidentally run opt-in feature suites or the separately scheduled OAuth regression.
Changes:
- Updates
scripts/prove.shto pass-Pandroid.testInstrumentationRunnerArguments.class=io.putdotio.android.LaunchSmokeTestwhen running the launch-proof Gradle task. - Extends
scripts/test-emulator.shcontract tests to assert the launch-proof Gradle boundary is called with the explicit class selector. - Updates
docs/harness.mdto document that local launch proof is limited toLaunchSmokeTestand excludes opt-in suites/OAuth regression.
| File | Description |
|---|---|
| scripts/test-emulator.sh | Adds a contract test ensuring the harness invokes Gradle with the LaunchSmokeTest selector and that failures don’t trigger unintended retries/teardown. |
| scripts/prove.sh | Explicitly selects LaunchSmokeTest for the instrumentation run invoked during local launch proof. |
| docs/harness.md | Documents the narrowed scope of the launch proof and exclusions (opt-in suites and OAuth regression). |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Local launch proof previously ran every instrumentation suite, including opt-in feature scenarios and the separately scheduled OAuth regression. Select
LaunchSmokeTestexplicitly for both mobile and TV while retaining the named XML validator, render-only retry, and emulator lifecycle checks.The fake-SDK regression fails without the selector and passes with it. Local
verify,:buildSrc:test, and both debug flavor assembles passed. Full API 37 proof remains unavailable: the existing devbox emulator segfaulted during boot before app installation; its owned process and ephemeral AVD were cleaned up.