Skip to content

feat(retry): add retry backoff configuration and bounded validation engine (#707) - #741

Open
ravendevhub wants to merge 1 commit into
Core-Foundry:mainfrom
ravendevhub:feat/retry-backoff-config-707
Open

feat(retry): add retry backoff configuration and bounded validation engine (#707)#741
ravendevhub wants to merge 1 commit into
Core-Foundry:mainfrom
ravendevhub:feat/retry-backoff-config-707

Conversation

@ravendevhub

Copy link
Copy Markdown

Summary

Resolves #707 by implementing a standalone notification retry backoff configuration and validation engine (listener/src/services/retry-backoff-config.ts) that enforces bounded retry intervals, customizable exponential scaling, and strict parameter validation independently of specific provider transports.

Changes

  1. Validation & Calculation Engine (listener/src/services/retry-backoff-config.ts):
    • Implements validateBackoffConfig rejecting invalid values (negative intervals, maxDelayMs < initialDelayMs, multiplier < 1.0, invalid jitter).
    • Implements calculateBoundedBackoff ensuring delay never exceeds the defined maxDelayMs ceiling.
  2. Automated Unit Tests (listener/src/services/retry-backoff-config.test.ts):
    • Tests default fallback, invalid input rejection, exponential growth, and ceiling enforcement with jitter.
  3. Documentation (docs/RETRY_BACKOFF_CONFIGURATION.md):
    • Documents configuration parameters, constraints, and delay formulas.

Acceptance Criteria

  • Backoff parameters are configurable.
  • Invalid values are rejected.
  • Retry delays remain bounded.
  • Configuration is documented.

…ngine (Core-Foundry#707)

- Implement validateBackoffConfig rejecting invalid initial/max delays and multipliers
- Implement calculateBoundedBackoff with exponential scaling and strict jitter bounds
- Provide comprehensive test suite in retry-backoff-config.test.ts
- Document configuration schema and formulas in docs/RETRY_BACKOFF_CONFIGURATION.md
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.

Add Notification Retry Backoff Configuration

1 participant