Skip to content

Feat remove phases from kimchi leaving plan - #1093

Draft
tautvydasLiekis wants to merge 9 commits into
masterfrom
feat-remove-phases-from-kimchi-leaving-plan
Draft

Feat remove phases from kimchi leaving plan#1093
tautvydasLiekis wants to merge 9 commits into
masterfrom
feat-remove-phases-from-kimchi-leaving-plan

Conversation

@tautvydasLiekis

@tautvydasLiekis tautvydasLiekis commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Linked issue

Closes #

What does this PR do?

Removes Kimchi's model-controlled workflow phase state machine (explore, research, plan, build, and review). Planning remains the existing read-only permission mode, while multi-model specialization remains role-based.

Multi-model routing is not being replaced. The orchestrator already selected specialized models and created workers through Agent; set_phase was a parallel layer of self-reported session state around that flow. After this change, the orchestrator delegates concrete work directly by role without first changing a global phase.

Removed

  • set_phase, /phase, the Phase state, and parent/child phase propagation.
  • Automatic phase:* request tags, phase status-line rendering, and phase-change UI.
  • Phase-keyed prompt scaffolding and the mandatory session-wide explore -> research -> plan -> build -> review pipeline.
  • Model-controlled thinking changes through set_phase. The user's Pi thinking controls remain, and each delegated Agent call can still set an explicit thinking level.
  • The obsolete duplicate src/extensions/model-catalog/ implementation; orchestration now owns the canonical model registry and reference helpers.

Added

  • A structured ExitPlanMode(plan) tool instead of parsing <!-- PLAN_COMPLETE --> or <done> markers.
  • Plan rendering and explicit Execute / Rework / Start as Ferment approval choices.
  • Approved-plan persistence, todo seeding from plan chunks, compact execution handoff, and restoration of the exact pre-plan permission/tool state.
  • Deterministic non-blocking behavior for ACP, headless, one-shot, and child-agent plan sessions.
  • Static universal Working Practices in place of five contradictory phase blocks, while retaining model-specific role guidance for the workers that use it.
  • A single Ferment delegation policy: multi-model is strict delegation; single-model is relaxed/direct execution.
  • Golden system-prompt snapshots and regression coverage for retired tools, plan-mode visibility, child-plan completion, and prompt/tool consistency.

What stays

  • Permission modes: default, plan, auto, and yolo.
  • Plan mode as a hard read-only boundary, available through the existing toggle, CLI, command, and ACP surfaces.
  • The planning-specific Orient -> Interview -> Criteria -> Deep Exploration -> Plan process inside plan mode and Ferment. It is guidance for producing a plan, not global session state.
  • Multi-model roles and personas: orchestrator, planner, builder, reviewer, explorer, researcher, judge, and compactor.
  • Existing Agent-based worker creation, explicit per-worker model/thinking/budget selection, and parallel independent build chunks.
  • Model switching, user-controlled thinking, normal tags plus the automatic model:* tag, and Ferment's separate persisted milestone phases.

This is primarily a simplification and regression-risk reduction, not a claim of direct benchmark improvement. The expected multi-model work path is substantially the same, minus the phase-management ceremony and its cross-cutting state.

Validation

  • pnpm run check
  • pnpm run test — 466 files passed, 3 skipped; 8,886 tests passed, 13 skipped
  • git diff --check

Checklist

  • I have read CONTRIBUTING.md and agree to the CLA
  • This PR links to an open issue above
  • Tests pass locally (pnpm run test)
  • Lint passes (pnpm run check)
  • Documentation updated if behavior changed

@kimchi-review

kimchi-review Bot commented Aug 26, 2026

Copy link
Copy Markdown

Kimchi Code Review

Property Value
Commit bbcf4c5
Author @tautvydasLiekis
Files changed 0
Review status Completed
Comments 2 (2 info)
Duration 120s

Summary

📊 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.

What to expect

Kimchi will analyze the changes in this pull request and post:

  • A summary of the overall changes
  • Inline comments on specific lines with findings categorized by issue type

The review typically completes within a few minutes. This comment will be updated once the review is ready.

Interact with Kimchi
  • @getkimchi review — re-trigger a full review on the latest commit
  • @getkimchi summary — regenerate the PR summary
  • @getkimchi ignore — skip this PR (no review will be posted)
  • Reply to any inline comment to ask follow-up questions or request clarification
Configuration

Reviews are configured by your organization admin.
Review instructions, excluded directories, and severity thresholds can be adjusted per repository in the Kimchi dashboard.


Powered by Kimchi — AI-powered code review by CAST AI

@kimchi-review kimchi-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📊 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.

Kimi writes the plan (interfaces, file paths, method signatures) to a spec
file. Spawns one minimax-m2.7 subagent with the spec file attached for the
build phase. After the subagent returns, kimi reads the output and verifies.
builder role. After the subagent returns, kimi reads the output and verifies..

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️🔧 Maintainability

The sentence ends with two consecutive periods (verifies..), a documentation typo introduced by the diff.

💡 Suggestion: Change verifies.. to verifies.

Comment thread benchmark/manual/tasks.md
```

**Expected:** plan phase (heavy model) + multiple implementation subagents, 3–6 subagents, <15 min, clean package separation, comprehensive tests, stdlib only.
**Expected:** planner (heavy) + builder role + build both, 3–6 subagents, <15 min, clean separation, comprehensive tests, stdlib only.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️🔧 Maintainability

The expected-outcome sentence contains the fragment planner (heavy) + builder role + build both, which is grammatically unclear and could confuse benchmark operators about whether both roles perform implementation work or whether two separate builds are required.

💡 Suggestion: Rephrase to something explicit, e.g. planner (heavy) + builder role (standard), 3–6 subagents or planner (heavy) and builder role (standard) both participate in implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant