Feat remove phases from kimchi leaving plan - #1093
tautvydasLiekis wants to merge 12 commits into
Conversation
Kimchi Code Review
Summary📊 Review Score: 92/100 (overall code quality — 0 lowest, 100 highest) 🧪 Tests: yes — Tests were updated across status-line, agent-runner, prompts, ferment, and status-line config. A new regression test in 📝 Found 2 issue(s). See inline comments for details. What to expectKimchi will analyze the changes in this pull request and post:
The review typically completes within a few minutes. This comment will be updated once the review is ready. Interact with Kimchi
ConfigurationReviews are configured by your organization admin. Powered by Kimchi — AI-powered code review by CAST AI |
There was a problem hiding this comment.
📊 Review Score: 92/100 (overall code quality — 0 lowest, 100 highest)
⏱️ Estimated effort to review: 3/5 (1 = trivial, 5 = very complex)
🧪 Tests: yes — Tests were updated across status-line, agent-runner, prompts, ferment, and status-line config. A new regression test in src/extensions/agents/manager/agent-runner.test.ts verifies that subagents no longer mutate parent-session phase/tag state, and another confirms guidelines are resolved from the persona role rather than the orchestrator phase.
📝 Found 2 issue(s). See inline comments for details.
|
You can re-trigger by converting this PR to draft, then opening for review again. |
Preserve the original permission snapshot after failed cloud startup. Ignore nonterminal worker polls, including cached outcomes on resume. Correct audit attribution and isolate session lookup from live APIs.
BREAKING CHANGE: use Auto or a qualified model instead of multi-model. Fresh sessions default to Auto; explicit launch choices and resumed sessions retain their model. Ordinary agents, plan mode, and Ferment engines remain supported.
Keep child SDK model and thinking changes out of shared user settings. Honor configured persona models and remove unused thinking policy and never-implemented worktree isolation options.
Pi only renders the built-in working indicator while streaming. Render held evaluation work through the existing widget API and preserve it across continuation turns without weakening the E2E checks.
…guideline content Reconciles rebase fallout: keeps the branch's ExitPlanMode plan flow and phase-free role guidelines while preserving master's newer deprecation handling, timeout guidance, and remote-run review menu. Co-Authored-By: Kimchi <noreply@kimchi.dev>
844b4d6 to
a0d745f
Compare
The re-surfaced master tests scripted the fake model to call submit_plan, which the branch intentionally does not register — the tool call errored in-session and the plan approval menu never appeared, so CI timed out waiting for 'Execute the plan' until the 20-minute job limit. Point the scenarios back at ExitPlanMode, matching the branch's plan flow. Co-Authored-By: Kimchi <noreply@kimchi.dev>
What was wrong
Kimchi layered model-controlled workflow phases and legacy multi-model orchestration over ordinary sessions, planning and agents. This added global state, role/model pools, forced model selection and phase-dependent prompts/tool restrictions.
set_phase({ thinking: "medium" })also had a cross-session side effect: Pi's thinking setter saves the effective level as the global default. A model's phase decision could therefore change High to Medium for subsequent sessions without directly editing settings.json. This PR removes that mutation path; it does not reset existing defaults or change Pi's general settings persistence.Removed
set_phase,/phase, workflow-phase state and parent/child propagation, automaticphase:*tags, phase status/UI, and phase-driven thinking changes.--multi-model, the virtualmulti-modelselection,/multi-model, role/model pools and metadata configuration, session/process state, and forced orchestrator model selection. Retired CLI selections now fail with guidance instead of silently enabling another mode.src/extensions/model-catalog/tree. Ordinary permission checks remain.Changed / added
ExitPlanModereplacessubmit_plan. The approval/execution flow retains plan persistence, seeds TODOs from approved chunks, sends a compact execution handoff and restores the pre-plan permission/tool state. Child-plan, ACP and headless paths have regression coverage.What stays
default,plan,auto,yolo), plan-mode restrictions, approval UI, and planning guidance. Permissionautoand Auto model routing are separate concepts.Agentworkers/personas, explicit worker model/thinking/budget selection, user-controlled model/thinking changes, and Auto routing.Remaining / out of scope
src/extensions/agents/thinking-level-policy.tsremains unused by production callers and is a follow-up cleanup candidate.The current diff against master changes 183 files, adds 3,104 lines and removes 13,770 (36 whole-file deletions). The scope is simplification plus the retained plan-mode changes, not a claim of improved benchmark score or cost.
Validation
Validated head:
4cdc6aa382dada4bd2e4e185fa47e5d5ab81ad7b, including master716bd797c9802b20ef1da4ccde7caace26173a22.pnpm run check,pnpm run build,pnpm run build:binary, and diff checks pass. Independent review found no validated merge issues.kimchi-dev/kimi-k3, 1x timeout, 89 tasks x 5 attempts, max thinking. It targetsf19fd08ff7998da3b443e5f54b418b2b5fcb9663, before these master merges, so it does not validate the current head's incoming prompt-cache/compaction changes. No benchmark non-regression claim is made here.Linked issue
No linked issue supplied yet.
Checklist