Pudu programming language
Menu
Package

@chrismichaelps / pudu-lang-resilience

Resilience pipelines for Pudu: retry, circuit breaker, timeout, fallback, hedging, rate limiting, and chaos injection

0.1.0Apache-2.01

InstallClose

← All contributions

feat(pipeline): publish the initial resilience package #2

merged

@chrismichaelps wrote on 2026-09-28

Closes #1

Behaviour

  • Pipelines of strategies composed outermost first, validated as a whole, nestable, and describable; a registry of named pipelines with reload.
  • Strategies: retry (constant, linear, exponential, jitter, generated delays, unlimited), circuit breaker (rolling health windows, half-open probe, generated breaks, manual isolation, state provider), timeout, fallback, hedging (delayed, parallel, and wait-for-outcome modes; losing attempts cancelled and joined), rate limiter.
  • Limiters: concurrency, token bucket, fixed window, sliding window, partitioned, and chained, with oldest- or newest-first queues and retry times.
  • Chaos injection of faults, outcomes, latency, and behavior, with weighted choices.
  • Telemetry events with severity overrides, a meter, and a log listener; a manual clock and seeded or fixed randomizers for deterministic tests.

Verification

On the published Pudu 0.1.2 archive:

  • pudu check, pudu fmt --check, and pudu lint are clean over src, test, tools, and examples.
  • pudu test test: 22 suites, 386 assertions.
  • Every program under examples/ answers 0.
  • pudu run tools/Mutate.pudu --domain: 75 killed, 0 survived, score 100%.

Read and reply on GitHub ↗