Repository navigation
feat(plan): land complete plan mode (original PR: PI-Desktop-Legacy#116, by @Tioit-Wang) - #2
Merged
Merged
Conversation
feat(plan): complete checkpoint approval and shell execution
# Conflicts: # apps/desktop/electron/main/agent-sidecar.ts # apps/desktop/electron/main/host-process.ts # apps/desktop/electron/main/index.ts # apps/desktop/src/components/ChatTranscript.tsx # apps/desktop/src/lib/api.ts # apps/desktop/src/stores/app-store.ts # packages/agent-runtime/src/host-client.ts # packages/agent-runtime/src/parent-host-proxy.test.ts # packages/agent-runtime/src/parent-host-proxy.ts # packages/agent-runtime/src/runtime.test.ts # packages/agent-runtime/src/runtime.ts # packages/agent-runtime/src/sidecar.ts # packages/shared/src/errors.ts
# Conflicts: # apps/desktop/electron/main/agent-sidecar.ts # apps/desktop/electron/main/host-process.ts # apps/desktop/electron/main/index.ts # apps/desktop/src/components/ChatTranscript.tsx # apps/desktop/src/lib/api.ts # apps/desktop/src/stores/app-store.ts # crates/host-core/src/rpc/mod.rs # crates/host-core/src/sessions.rs # crates/host-core/src/state.rs # crates/host-core/src/tools/mod.rs # crates/host-core/src/tools/shell.rs # packages/agent-runtime/src/host-client.ts # packages/agent-runtime/src/parent-host-proxy.test.ts # packages/agent-runtime/src/parent-host-proxy.ts # packages/agent-runtime/src/runtime.test.ts # packages/agent-runtime/src/runtime.ts # packages/agent-runtime/src/sidecar.ts # packages/shared/src/errors.ts
# Conflicts: # apps/desktop/electron/main/agent-sidecar.ts # apps/desktop/electron/main/host-process.ts # apps/desktop/electron/main/index.ts # apps/desktop/src/components/ChatTranscript.tsx # apps/desktop/src/lib/api.ts # apps/desktop/src/stores/app-store.ts # crates/host-core/src/rpc/mod.rs # crates/host-core/src/sessions.rs # crates/host-core/src/state.rs # crates/host-core/src/tools/mod.rs # crates/host-core/src/tools/shell.rs # docs/adr/README.md # docs/spec/03-runtime/01-ipc-protocol.md # docs/spec/03-runtime/02-agent-runtime.md # docs/spec/03-runtime/03-tools-and-permissions.md # docs/spec/03-runtime/06-host-rpc-protocol.md # docs/spec/03-runtime/07-process-model.md # docs/spec/03-runtime/08-error-codes.md # docs/spec/03-runtime/09-logging-and-observability.md # docs/spec/06-delivery/04-e2e-test-plan.md # docs/spec/07-plugins/04-plugin-security.md # docs/spec/08-meta/decisions-log.md # packages/agent-runtime/src/host-client.ts # packages/agent-runtime/src/parent-host-proxy.test.ts # packages/agent-runtime/src/parent-host-proxy.ts # packages/agent-runtime/src/runtime.test.ts # packages/agent-runtime/src/runtime.ts # packages/agent-runtime/src/sidecar.ts # packages/shared/src/errors.ts
The integration lanes left two source contracts pointing at the pre-plan shape of the UI, so the desktop suite failed on the merged branch. - Composer switches its send/stop button on `runActive`, which folds an in-flight plan execution into the session's own `isRunning`. Track that in the test and assert the derivation, so the control still follows the visible session rather than an unrelated global flag. - Drop the dead `.ct-mode` / `.ct-mode-btn` rules the merge reintroduced. The mode selector lives in the composer's left toolbar; nothing renders those classes, and both topbar contracts require their absence. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
vastsa
added a commit
that referenced
this pull request
Aug 5, 2026
feat(plan): land complete plan mode Originally proposed as vastsa/PI-Desktop-Legacy#116 by @Tioit-Wang. Plan mode was implemented by @Tioit-Wang and v_wyxgwang; all 19 merged commits keep their original author and committer metadata unchanged. This merge only carries that work to its intended repository and is not new authorship. Tioit-Wang/PI-Desktop forks PI-Desktop-Legacy rather than this repository, so GitHub refused a cross-network pull request and the branch was pushed here directly. That is why PR #2 is opened under @vastsa — a fork-network limitation, not a transfer of credit. The single commit here not by the original authors is 030dc32, which reconciles two source contracts the integration lanes left describing the pre-plan UI. Co-authored-by: Tioit-Wang <me@tioit.cc> Co-authored-by: v_wyxgwang <v_wyxgwang@tencent.com>
This was referenced Sep 13, 2026
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.
Attribution
Original pull request: vastsa/PI-Desktop-Legacy#116, authored by @Tioit-Wang.
Plan mode was implemented by @Tioit-Wang and
v_wyxgwang <v_wyxgwang@tencent.com>;all 19 commits keep their original author and committer metadata unchanged. This
PR only carries them to the intended repository — it is not new authorship.
Tioit-Wang/PI-Desktopis a fork ofvastsa/PI-Desktop-Legacy, not of thisrepository, so GitHub refused a cross-network pull request ("No commits between").
The branch was therefore pushed here directly, which is why this PR is opened by
@vastsa rather than by @Tioit-Wang. That is a mechanical limitation of the fork
network, not a transfer of credit.
Co-authored-by trailers for the record:
Shape
main(7974cda) is an ancestor of the branch, and the branch is 0 commitsbehind, so the merge result is exactly the branch tree — no new resolution.
and Rust host-core, plus the integration-lane merge commits.
mainwas behind this repository's, so nothing Legacy-only rides along.Conflict resolution
The integration lanes left two source contracts describing the pre-plan UI, which
failed the desktop suite on the merged branch. Fixed in 030dc32 (the only commit
here not by the original authors):
runActive, which folds an in-flightplan execution into the session's own
isRunning. The test now tracks that andasserts the derivation, so the control still follows the visible session.
.ct-mode/.ct-mode-btnrules the merge reintroduced. Themode selector lives in the composer's left toolbar; nothing renders those
classes, and both topbar contracts require their absence.
Validation
Full CI-equivalent run on this exact tree, all green:
pnpm build:js,pnpm --filter @pi-desktop/desktop typecheck,pnpm lintplugin-devkit 34, i18n 7 — 0 failures
cargo test -p host-core --locked: 164 passedE2E was not run.
🤖 Generated with Claude Code