Skip to content

feat: add retry-with-exponential-backoff plugin#3774

Draft
madhu-mohan-jaishankar wants to merge 3 commits intomainfrom
feature/retry-with-exponential-backoff
Draft

feat: add retry-with-exponential-backoff plugin#3774
madhu-mohan-jaishankar wants to merge 3 commits intomainfrom
feature/retry-with-exponential-backoff

Conversation

@madhu-mohan-jaishankar
Copy link
Collaborator

  • Add retry_delay_ms field to PluginResult in models.py
  • Add recursive retry loop in tool_service.py invoke_tool (retry_attempt param)
  • Fix manager.py to propagate retry_delay_ms signal across plugin chain
  • Add RetryWithBackoffPlugin with full-jitter exponential backoff
  • Add plugin-manifest.yaml and package init.py
  • Add 35 unit tests covering all components

🔗 Related Issue

Closes #


📝 Summary

What does this PR do and why?


🏷️ Type of Change

  • Bug fix
  • Feature / Enhancement
  • Documentation
  • Refactor
  • Chore (deps, CI, tooling)
  • Other (describe below)

🧪 Verification

Check Command Status
Lint suite make lint
Unit tests make test
Coverage ≥ 80% make coverage

✅ Checklist

  • Code formatted (make black isort pre-commit)
  • Tests added/updated for changes
  • Documentation updated (if applicable)
  • No secrets or credentials committed

📓 Notes (optional)

Screenshots, design decisions, or additional context.

- Add retry_delay_ms field to PluginResult in models.py
- Add recursive retry loop in tool_service.py invoke_tool (retry_attempt param)
- Fix manager.py to propagate retry_delay_ms signal across plugin chain
- Add RetryWithBackoffPlugin with full-jitter exponential backoff
- Add plugin-manifest.yaml and package __init__.py
- Add 35 unit tests covering all components

Signed-off-by: Madhu Mohan Jaishankar <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant