Summary
The retry-with-backoff plugin still checks get_settings().max_tool_retries when that setting exists, but standalone cpex 0.1.0.dev13 does not expose max_tool_retries on cpex.framework.settings.get_settings(). In standalone CPEX, the plugin falls back to its own configured max_retries; in host environments that provide the field, it clamps to the host ceiling.
Why separate from PR #57
PR #57 is scoped to migrating plugins from gateway imports to the standalone cpex framework dependency. Changing retry ceiling policy is plugin behavior/API contract work and should be handled separately.
Acceptance criteria
- Decide whether retry ceilings are owned by the host runtime or plugin config.
- If host-owned, expose/pass the ceiling through an explicit CPEX API/config contract.
- If plugin-owned, remove the implicit
max_tool_retries lookup and document the behavior.
- Add tests for the chosen contract.
Summary
The retry-with-backoff plugin still checks
get_settings().max_tool_retrieswhen that setting exists, but standalonecpex0.1.0.dev13 does not exposemax_tool_retriesoncpex.framework.settings.get_settings(). In standalone CPEX, the plugin falls back to its own configuredmax_retries; in host environments that provide the field, it clamps to the host ceiling.Why separate from PR #57
PR #57 is scoped to migrating plugins from gateway imports to the standalone
cpexframework dependency. Changing retry ceiling policy is plugin behavior/API contract work and should be handled separately.Acceptance criteria
max_tool_retrieslookup and document the behavior.