Skip to content

feat: use independent Core plan toggles across agents - #503

Open
Leeeon233 wants to merge 5 commits into
mainfrom
feat/independent-plan-mode
Open

feat: use independent Core plan toggles across agents#503
Leeeon233 wants to merge 5 commits into
mainfrom
feat/independent-plan-mode

Conversation

@Leeeon233

@Leeeon233 Leeeon233 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Related issue

Refs #133

Problem / pressure

Kimi's combined Plan/permission selector prevents Plan and YOLO from being selected together. Lody also treats Codex's collaboration_mode vocabulary as the shared planning interface.

Summary

Use Core's plan_mode: boolean across Codex, Kimi, Grok, and supported DSH presets while leaving Claude's permission-based Plan unchanged. Translate historical selections at read/dispatch boundaries, preserve explicit boolean choices, and turn Plan off for the next execution turn without changing permissions. Add a draft Spec and a decision note.

Dependencies: Core #5, Codex #34, Grok #13, DSH #12, and Kimi #8. All five submodule PRs are merged, and this PR pins their default-branch merge commits. Claude was already current. The six submodule source trees are identical to the previously tested versions.

Keep this PR in draft until Core and the wrapper releases are available, and the published Kimi managed-runtime checksum is added. The local preview artifact is not a production runtime update.

Before / after

Before After
Codex-specific string planning selector and Kimi combined modes Core boolean Plan selector, independent of permissions
Old saved selections use provider-specific fields Selections translate when the target advertises the new contract
DSH planning has no ACP control Supported presets expose Plan; unsupported presets withdraw it

Test plan

  • Final pnpm check passed in full. pnpm format ran and pnpm run docs check passed; see the decision note for detailed results.
  • Codex: 566 passed, 27 skipped; typecheck passed.
  • Grok: 41 passed. DSH: 11 passed, including pending state and capability removal.
  • Kimi: typecheck, build, and 32 focused tests passed. Full suite: 161 passed and one local Bash-output failure, reproduced on the unchanged baseline.
  • No package publication, managed-runtime upload, or real-provider end-to-end run is included.

Context handoff

Instructions for reviewing agents

  • Review focus: Check legacy selection translation and execution-turn config preserve the driving turn's permission choices.
  • Decisions to challenge: Confirm the Core boolean is sufficient while Claude remains permission-based and DSH advertises only supported presets.
  • Plausible failures / evidence gaps: Rollout requires Core/wrapper releases and the Kimi runtime manifest; the current draft is not ready for production use.

Authoring context

  • User goal / directives: Make Plan and YOLO independently selectable through one shared Core field for every supported provider except Claude.
  • Constraints / non-goals: Keep Kimi isolated from the root workspace and preserve provider-owned native behavior and permission policy.
  • Risk-bearing decisions: Migrate legacy values only against advertised capabilities; explicit boolean values take precedence.
  • Destructive or irreversible behavior: No stored history is rewritten and no data cleanup is added; migration derives dispatch and UI values.
  • Deliberately not done or tested: Package releases and live provider E2E execution remain outside this source PR.
  • Unknowns / confidence: Automated behavior checks cover the new contract; published runtime availability remains a rollout dependency.

@lodystage
lodystage Bot marked this pull request as ready for review September 8, 2026 07:25

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 913978b46d

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread packages/shared/src/ai.ts
Comment on lines 766 to +769
const KIMI_STATIC_CONFIG_OPTIONS: AcpConfigOptionSummary[] = [
{ ...createPlanModeConfigOption(false), options: [] },
{
id: 'mode',
name: 'Mode',
category: 'mode',
id: 'permission_mode',

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Ship the Kimi runtime before exposing its new config IDs

For a builtin Kimi config without an authoritative capability cache, these static options drive the chat/onboarding selection, but this commit leaves apps/cli/src/agent/kimi-runtime-manifest.json unchanged at the old 0.39.1-lody.f255222661c9 artifact. Since the Kimi submodule is isolated and Lody launches only that checksummed artifact, updating its gitlink does not make plan_mode or permission_mode available; a fresh session can therefore offer Plan + YOLO and then send configuration IDs the installed wrapper does not advertise, so the requested mode will not take effect. Update the runtime manifest and checksum in this change, or withhold the new static Kimi options until that artifact is available.

AGENTS.md reference: AGENTS.md:L68-L70

Useful? React with 👍 / 👎.

* fix: keep Grok plan review interactive under Always Approve

Model: gpt-6

* chore: update Grok submodule to merged plan review

Model: gpt-6

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 47074038c6

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread packages/shared/src/ai.ts
: undefined;

const DEEPSEEK_HARNESS_CONFIG_OPTIONS: AcpConfigOptionSummary[] = [
{ ...createPlanModeConfigOption(false), options: [] },

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Hide Plan when the selected DSH preset lacks it

For a fresh or otherwise unprobed DeepSeek Harness target, this provisional static table always exposes plan_mode, even after the user selects the minimal agent_preset. That preset's runtime composition removes the Plan service, but selector construction does not vary these static options by the selected preset, so the UI retains and dispatches a usable-looking Plan value that the resulting agent cannot apply. Make the provisional capability depend on the selected preset, or withhold Plan until an authoritative probe confirms the service.

Useful? React with 👍 / 👎.

* fix: integrate Grok YOLO permission fallback

Model: gpt-6

* docs: link Grok permission fallback pull requests

Model: gpt-6

* chore: pin merged Grok permission fallback

Model: gpt-6

---------

Co-authored-by: Leeeon233 <leeeon233@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant