This was generated by AI during triage.
Summary
PR #154 introduces typed per-project agentConfig.model and agentConfig.permissions, but consumption is currently Claude Code-specific. We should support these fields consistently across all agent adapters with a provider-qualified model naming scheme.
Desired behavior
agentConfig.model should be accepted and resolved for every supported agent adapter that can select a model.
- Model values should use a qualified format:
claude.claude-opus-4-8
codex.gpt-5-5
<agent-or-provider>.<model-id>
agentConfig.permissions should keep the shared AO vocabulary:
default
accept-edits
auto
bypass-permissions
- Each adapter maps the shared permission value to its own native implementation/flags/config. If an adapter cannot support a mode, it should fail clearly or document the fallback.
Scope
- Define the canonical model string format and validation rules.
- Add adapter-owned model/permission mapping for all relevant agents.
- Keep API/CLI values stable and agent-agnostic; implementation differences stay inside adapters.
- Add tests per adapter for:
- model flag/config application
- each supported permission mode
- unsupported model/provider/mode errors
Acceptance criteria
- A project can set a model such as
claude.claude-opus-4-8 or codex.gpt-5-5 and have the selected adapter launch with that model.
- A project can set the same
permissions value regardless of adapter, and each adapter translates it appropriately.
- Unsupported values are rejected with actionable errors.
- Documentation explains the model naming format and permission compatibility per adapter.
Summary
PR #154 introduces typed per-project
agentConfig.modelandagentConfig.permissions, but consumption is currently Claude Code-specific. We should support these fields consistently across all agent adapters with a provider-qualified model naming scheme.Desired behavior
agentConfig.modelshould be accepted and resolved for every supported agent adapter that can select a model.claude.claude-opus-4-8codex.gpt-5-5<agent-or-provider>.<model-id>agentConfig.permissionsshould keep the shared AO vocabulary:defaultaccept-editsautobypass-permissionsScope
Acceptance criteria
claude.claude-opus-4-8orcodex.gpt-5-5and have the selected adapter launch with that model.permissionsvalue regardless of adapter, and each adapter translates it appropriately.