test(ios): import pairing protocol model#100355
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 5, 2026, 11:46 AM ET / 15:46 UTC. Summary PR surface: Source +469, Tests +1290, Docs +23, Config 0, Other -3. Total +1779 across 46 files. Reproducibility: yes. Current main is source-reproducible because the test instantiates Review metrics: 1 noteworthy metric.
Stored data model Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review detailsBest possible solution: Land the focused Swift test import through maintainer review, ideally after refreshing or confirming the branch so the visible review surface matches the one-file potential merge result. Do we have a high-confidence way to reproduce the issue? Yes. Current main is source-reproducible because the test instantiates Is this the best way to solve the issue? Yes. Importing the owner module in the test is the narrowest maintainable fix; adding an OpenClawKit alias or moving the generated model would create unnecessary API surface for test visibility. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against a308e3b83429. Label changesLabel justifications:
Evidence reviewedPR surface: Source +469, Tests +1290, Docs +23, Config 0, Other -3. Total +1779 across 46 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (1 earlier review cycle)
|
|
Merged via squash.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 59506ee944
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| } | ||
| } | ||
| return !(await hasLaunchEvidence()); | ||
| return true; |
There was a problem hiding this comment.
Re-check launch evidence at timeout
When the Scheduled Task process or Gateway listener becomes observable during the final poll interval, this unconditional true skips the last hasLaunchEvidence() probe and starts the fallback anyway. That can spawn a duplicate Gateway even though the accepted task actually launched; the old post-loop evidence check avoided this race, so the timeout path should still return based on a fresh evidence check.
Useful? React with 👍 / 👎.
* test(ios): import pairing protocol model * test(ios): import pairing protocol model
Follow-up to #100317.
What Problem This Solves
The pairing-routes change added a
DeepLinksSecurityTestsassertion forDevicePairSetupCodeResult, but the test target imported onlyOpenClawKit. That protocol model is declared in the separateOpenClawProtocolmodule, soswift test --package-path apps/shared/OpenClawKitfails at compile time on currentmain.Why This Change Was Made
Import the module that owns the generated protocol type. This keeps the test at the correct dependency boundary without adding an app-facing alias solely for test visibility.
User Impact
No runtime behavior change. The shared Apple package test suite compiles again, unblocking iOS/macOS validation and follow-up app PRs.
Evidence
cannot find 'DevicePairSetupCodeResult' in scopeinDeepLinksSecurityTests.swift:22.swift test --package-path apps/shared/OpenClawKit --filter DeepLinksSecurityTests— 26/26 passed.git diff --check— clean.