feat(ios): wire merge and PR review interactive workflows - #436
Conversation
Addresses psyche-i7c.9.3 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
🟢 Approval recommended
The updated workflows are exercised by targeted unit/UI tests and the reviewed diffs do not show correctness or safety issues in the changed paths.
Pull request overview
This PR expands Psyche Build’s iOS remote action sheet to support host-driven merge confirmation chains (including explicit/single-use cancel semantics) and a richer pull request review workflow that allows editing title/body and navigating to related files before submission.
Changes:
- Add host-style merge workflow chains in fixture mode, including sibling-pane confirmation, fallback target confirmation, and explicit cancel as a choice option when provided by the host.
- Introduce a specialized PR review presentation that splits title/body editing and enables navigation into related files from the review sheet.
- Extend unit + UI coverage around cancel de-duping, merge chains, PR review editing, and related-file navigation.
File summaries
| File | Description |
|---|---|
| native/ios/PsycheCore/Tests/PsycheCoreTests/RemoteActionStoreTests.swift | Adds coverage ensuring duplicate cancel taps do not send multiple responses while the first is in-flight. |
| native/ios/PsycheCore/Sources/PsycheCore/Fixtures/FixtureControlRequests.swift | Refactors fixture start/respond flows to simulate host-driven merge confirmation chains and a PR review action with title/body parsing. |
| native/ios/PsycheApp/UnitTests/ActionSheetPresentationTests.swift | Adds unit tests for cancel control selection, control identifier slugging, and PR title/body summary round-tripping. |
| native/ios/PsycheApp/Tests/PsycheAppUITests/PsycheAppUITests.swift | Adds UI tests for merge confirmation chains, explicit cancel behavior, PR review editing, and related-file navigation. |
| native/ios/PsycheApp/Sources/PsycheApp/Views/FileBrowserView.swift | Introduces ActionSheetRelatedFileView to load and display a related file (preview/diff) from the remote action sheet. |
| native/ios/PsycheApp/Sources/PsycheApp/Views/ActionSheetView.swift | Updates the action sheet UI to handle PR review editing fields, related-file navigation links, and host-supplied cancel choice options. |
| native/ios/PsycheApp/Sources/PsycheApp/Views/ActionSheetPresentation.swift | Adds helpers for cancel control selection, stable control identifiers, and PR title/body parsing/formatting. |
Review details
- Files reviewed: 7/7 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Independent R3 review at2799054b56f0663d4f7464c45c5cee91fc87190a against1e6e23d8e2d83cc17472652b4296d42650045e07 found two concrete P2 defects:
Fixture parity also needs care: its sibling/fallback sequence reverses production ordering, and its PR-edit UI assertion stops before submission. The pre-existing unknown-effect timeout remains separately tracked in #435, not reported as newly introduced here. Physical-host/receipt/device acceptance is not established by fixture or simulator results. Holding as draft pending correction and exact-head re-review; author worktree remains untouched. |
Summary
Validation
pnpm ios:project:checkcd native/ios && xcodebuild test -project Psyche.xcodeproj -scheme PsycheApp -destination 'platform=iOS Simulator,name=iPhone 16 Pro' -derivedDataPath .build-> 569 tests executed, 8 skipped, 0 failures (PsycheCoreTests: 425,PsycheAppTests: 104,PsycheAppUITests: 40)bash ./scripts/agent-check fastbash ./scripts/agent-check fullAcceptance