Repository navigation
Conversation
Signed-off-by: enwaiax <114924709+enwaiax@users.noreply.github.com>
📝 Walkthrough
Priority: ➖ Normal Severity of issue fixed: Medium Merge Risk: 🔵 Low · up to
|
There was a problem hiding this comment.
🧹 Nitpick comments: 1
src/main/pi/rpc-session-adapter.test.ts: 1
213-216: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick winAssert the selected model and dispatch order.
This test checks request names and prompt delivery in separate arrays. It can pass if
set_modelreceives the wrong model or if Pi receives the prompt beforeset_model. Record the request payload and both operations in one ordered sequence. Assert thatanthropic/model-2is selected before Pi receives"chosen".
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Repository UI
- Review profile: CHILL
- Plan: Advanced
- Run ID:
450d92e7-7a00-471a-85be-f8aa2b7fc4cd
📒 Files selected for processing: 2
src/main/pi/rpc-options.tssrc/main/pi/rpc-session-adapter.test.ts
💤 Files with no reviewable changes: 1
- src/main/pi/rpc-options.ts
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.
|
Closing as superseded by #32004, which has now merged a broader Pi + ACP fix for model-only dispatch and includes the away/back/away regression coverage. Thanks. |
ELI5
Choosing a different Pi model without also choosing an effort made Orca reject the message before Pi ever saw it. This change lets Pi keep the effort it selects for the new model, so the prompt is delivered normally.
What Changed
Before: writing
modelalso recorded aneffortwrite even though Orca never sentset_thinking_level. The following effort pass treated that synthetic write as proof that an unknown explicit effort was required and rejected the message.After: a model write still invalidates the cached current effort, but it no longer claims that Orca wrote an effort. If the message has no explicit effort, Orca leaves Pi's model-selected thinking level alone and proceeds to the prompt. Explicit model + effort messages retain their existing
set_model→set_thinking_levelorder.Why
set_modelbelongs to Pi, and Pi chooses and reports the applicable thinking level for that model. Markingeffortas written without sending an effort command creates false proof and blocks valid model-only messages. Removing only that false write marker preserves the concurrency guard for real option writes while keeping the cached effort invalidated after a model change.Linked Issue
Fixes #31849
Visual Proof
N/A — no visual or interaction layout changes. The failure and fix are covered at the Pi RPC dispatch boundary.
Testing
Verified locally on Linux:
pnpm exec vitest run --config config/vitest.config.ts src/main/pi/rpc-session-adapter.test.ts src/main/pi/rpc-options.test.ts— 23/23 passedset_modelis sent before the prompteffortwrite marker makes the new regression fail withThe default effort for this model is unknownpnpm run check:code-quality:changed— passed with 0 findingspnpm run build:packages && node config/scripts/run-typecheck-projects-in-parallel.mjs --project=config/tsconfig.node.json --compiler=native— passedoxfmt --check, focusedoxlint --deny-warnings, andgit diff --check— passedAI Disclosure
OpenAI GPT-5.6-sol assisted with root-cause validation, implementation, tests, and review.
Review
The change removes one synthetic option-proof write and adds one dispatch regression. It does not alter credentials, process launch, RPC wire formats, persistence, UI, mobile, or remote/SSH behavior. Explicit effort writes and their supersession checks are unchanged. Performance impact is none.
Agent skill upstream boundary
Notes
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (targeted tests, changed-code gate, and native Node typecheck pass; full repository gates remain for CI)Author X handle: @enwaiax