Keep CodexMonitor's Agents settings behavior in sync with upstream Codex (../Codex) whenever Codex changes:
- multi-agent feature flags
[agents]config schema- role resolution/config-file semantics
- role defaults (including built-ins)
- After pulling updates in
../Codex - Before changing
src-tauri/src/shared/agents_config_core.rs - When users report a mismatch between CodexMonitor settings and Codex runtime behavior
- Feature key + legacy alias:
../Codex/codex-rs/core/src/features.rs../Codex/codex-rs/core/src/features/legacy.rs
- Config schema + parsing:
../Codex/codex-rs/core/src/config/mod.rs../Codex/codex-rs/core/config.schema.json
- Role loading and built-ins:
../Codex/codex-rs/core/src/agent/role.rs../Codex/codex-rs/core/src/agent/builtins/explorer.toml
- Runtime thread-limit behavior:
../Codex/codex-rs/core/src/agent/control.rs../Codex/codex-rs/core/src/tools/handlers/multi_agents.rs
Notes:
../Codex/docs/config.mdpoints to web docs; treat code + schema above as canonical for compatibility work.
Run from CodexMonitor repo root:
cd ../Codex
git log --oneline -- \
codex-rs/core/src/features.rs \
codex-rs/core/src/features/legacy.rs \
codex-rs/core/src/config/mod.rs \
codex-rs/core/config.schema.json \
codex-rs/core/src/agent/role.rs \
codex-rs/core/src/agent/builtins/explorer.toml \
codex-rs/core/src/agent/control.rs \
codex-rs/core/src/tools/handlers/multi_agents.rs
rg -n "multi_agent|max_threads|max_depth|AgentsToml|AgentRoleToml|config_file|apply_role_to_config|DEFAULT_ROLE_NAME|explorer" \
codex-rs/core/src/features.rs \
codex-rs/core/src/features/legacy.rs \
codex-rs/core/src/config/mod.rs \
codex-rs/core/src/agent/role.rs \
codex-rs/core/src/agent/control.rs \
codex-rs/core/src/tools/handlers/multi_agents.rs- Shared read/write core:
src-tauri/src/shared/agents_config_core.rs
- Tauri/app + daemon adapters (keep parity):
src-tauri/src/codex/mod.rssrc-tauri/src/lib.rssrc-tauri/src/bin/codex_monitor_daemon.rssrc-tauri/src/bin/codex_monitor_daemon/rpc/codex.rssrc-tauri/src/remote_backend/mod.rs
- Frontend settings contracts + UI:
src/services/tauri.tssrc/features/settings/hooks/useSettingsAgentsSection.tssrc/features/settings/hooks/useSettingsViewOrchestration.tssrc/features/settings/components/sections/SettingsAgentsSection.tsxsrc/features/settings/components/sections/SettingsSectionContainers.tsx
- Tests:
src/services/tauri.test.tssrc/features/settings/components/SettingsView.test.tsx
- Feature flags
- Verify upstream key remains
features.multi_agent. - Keep CodexMonitor scoped to the new key only (no legacy alias read/write).
- Keep CodexMonitor writes aligned with upstream expectations.
- Agents schema
- Verify
[agents]shape still supportsmax_threads,max_depth, plus dynamic role tables. - Verify role fields (
description,config_file) and path semantics.
- Defaults/validation
- Check upstream default for
agents.max_threadsand validation constraints. - Check upstream default for
agents.max_depthand validation constraints. - Reconcile CodexMonitor guardrails when upstream changes.
- Role setup behavior
- Verify built-in role names/descriptions and built-in config files (currently includes
explorer.toml). - Verify per-role override keys used in role configs (for example
model,model_reasoning_effort).
- Runtime behavior
- Verify thread-limit enforcement still flows through agent control spawn/resume paths.
- Verify multi-agent tool behavior (
spawn_agent,send_input,wait,close_agent,resume_agent) if surfaced in UX.
- Upstream Codex default
agents.max_threadsis6. - CodexMonitor default
agents.max_depthis1. - CodexMonitor currently enforces a product cap of
12foragents.max_threadsand4foragents.max_depthin UI + backend.
If upstream introduces a hard max or materially changes spawn behavior, revisit this cap and update both:
src-tauri/src/shared/agents_config_core.rssrc/features/settings/components/sections/SettingsAgentsSection.tsx
npm run typecheck
npm run test -- src/services/tauri.test.ts src/features/settings/components/sections/SettingsAgentsSection.test.tsx src/features/settings/components/SettingsView.test.tsx
cd src-tauri && cargo check