Add mobile ritual discovery and daily pane controls - #192
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Pull request overview
Adds protocol v3 ritual metadata and iOS pane controls for discovering and launching project rituals.
Changes:
- Publishes bounded ritual metadata with backward-compatible decoding.
- Adds focused-pane ritual menus, launch handling, and split restoration.
- Extends fixtures, protocol tests, unit tests, UI tests, and documentation.
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Summary |
|---|---|
src/workspace/snapshot.ts |
Adds ritual snapshot metadata. |
src/daemon/workspace.ts |
Publishes bounded ritual metadata. |
protocol-fixtures/workspace-snapshot.json |
Updates snapshot fixtures. |
protocol-fixtures/mobile-control.json |
Updates mobile control fixtures. |
protocol-fixtures/fixtures.ts |
Adds ritual fixture data. |
native/ios/PsycheCore/Tests/PsycheCoreTests/WorkspaceFixturesTests.swift |
Tests ritual fixture preservation. |
native/ios/PsycheCore/Tests/PsycheCoreTests/WireProtocolContractTests.swift |
Tests ritual decoding compatibility. |
native/ios/PsycheCore/Tests/PsycheCoreTests/FixtureControlRequestsTests.swift |
Tests fixture ritual launches. |
native/ios/PsycheCore/Sources/PsycheCore/Protocol/BridgeMessages.swift |
Adds Swift ritual protocol models. |
native/ios/PsycheCore/Sources/PsycheCore/Fixtures/WorkspaceFixtures.swift |
Adds deterministic ritual data. |
native/ios/PsycheCore/Sources/PsycheCore/Fixtures/FixtureControlRequests.swift |
Simulates ritual launches and refreshes. |
native/ios/PsycheApp/UnitTests/PaneControlsTests.swift |
Tests pane ritual targeting and errors. |
native/ios/PsycheApp/Tests/PsycheAppUITests/PsycheAppUITests.swift |
Adds ritual and pane restoration coverage. |
native/ios/PsycheApp/Sources/PsycheApp/Views/PaneWorkspaceView.swift |
Integrates focused-pane controls and split state. |
native/ios/PsycheApp/Sources/PsycheApp/Views/PaneSwitcher.swift |
Supports pane promotion selections. |
native/ios/PsycheApp/Sources/PsycheApp/Views/PaneControls.swift |
Adds ritual menus and launch handling. |
native/ios/Psyche.xcodeproj/project.pbxproj |
Registers new test files. |
docs/superpowers/specs/2026-08-17-mobile-ritual-discovery-design.md |
Documents the ritual discovery design. |
docs/superpowers/plans/2026-08-17-mobile-ritual-discovery.md |
Documents implementation and verification. |
__tests__/workspaceSnapshot.test.ts |
Tests bounded metadata sanitization. |
__tests__/daemon/workspaceProtocolContract.test.ts |
Tests ritual protocol contracts. |
__tests__/daemon/daemonConnection.test.ts |
Updates snapshot expectations. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| private func launch(_ ritual: WorkspaceRitualSnapshot, inProject projectID: String) { | ||
| run { | ||
| try await store.launchRitual(ritual.id, inProject: projectID) | ||
| do { |
| const listRituals = deps.listRituals ?? listAvailableRituals; | ||
| const rituals = listRituals(normalizedProjectRoot) | ||
| .slice(0, MAX_PUBLISHED_RITUALS) | ||
| .map(projectRitualSnapshot); |
| id: project.id, | ||
| root: project.root, | ||
| title: project.title, | ||
| rituals: project.rituals ?? [], |
|
Release-first disposition: independent. This is an iOS/mobile feature track and does not block the macOS v0.0.1 outcome. Its current CI is green, but review identified unregistered production launch executors and a live workspace-provider path that publishes no ritual metadata; resolve those findings within this PR before merge. Roadmap ownership is tracked in #195. |
Roadmap disposition — blocked iOS live pathThis PR belongs to the independent iOS companion outcome in #200 and is not a macOS It should remain blocked until the unresolved production-path findings are fixed:
Fixture, decoder, or isolated UI success does not establish support when the live host path still returns |
2026-08-24 iOS train dispositionThis remains a #200 capability slice, but it must follow an accepted #193 host/readiness contract and is not merge-ready in its current form. Current blockers are production-composition failures, not test-count gaps:
Required decomposition and order
Please keep this pull request draft. It should not be rebased as one opaque unit; extract the host publication/executor contracts first, then reapply the mobile UI against those accepted seams. |
Summary
Test Plan
pnpm typecheckpnpm ios:project:checkgit diff --checkPsycheAppscheme before final metadata-only rebase: 452 passed, 8 skipped, 0 failedPsycheAppscheme after rebase: 454 passed, 6 skipped, 0 failedThe post-rebase combined iPhone run hit two UI-runner failures; both tests passed when rerun independently on the same simulator.