Skip to content

feat(core): allow separate orchestrator and worker model config#222

Open
Mizelan wants to merge 1 commit intoComposioHQ:mainfrom
Mizelan:codex/orchestrator-model-split
Open

feat(core): allow separate orchestrator and worker model config#222
Mizelan wants to merge 1 commit intoComposioHQ:mainfrom
Mizelan:codex/orchestrator-model-split

Conversation

@Mizelan
Copy link

@Mizelan Mizelan commented Feb 26, 2026

Summary

  • add orchestratorAgentConfig to project config schema/types
  • use orchestratorAgentConfig for orchestrator sessions while keeping worker sessions on agentConfig
  • keep fallback behavior: if orchestrator config is missing, use agentConfig
  • add tests for spawn/restore behavior and config validation
  • document the new key in config examples

Verification

  • pnpm --filter @composio/ao-core test -- src/__tests__/config-validation.test.ts src/__tests__/session-manager.test.ts
  • pnpm build
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

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: 0e0b79cd10

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +239 to +241
if (kind === "orchestrator") {
return project.orchestratorAgentConfig ?? project.agentConfig;
}

Choose a reason for hiding this comment

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

P2 Badge Merge orchestrator overrides with base agent config

orchestratorAgentConfig is treated as a full replacement, so any keys omitted there are dropped instead of inheriting from agentConfig. In practice, if a project keeps shared settings (for example permissions: skip) in agentConfig and sets only an orchestrator model override, orchestrator spawn/restore will silently lose those shared settings and launch with different behavior than worker sessions; this contradicts the documented “override (falls back to agentConfig)” expectation and can change runtime safety/approval semantics.

Useful? React with 👍 / 👎.

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

Labels

None yet

1 participant