resilience-patternslisted
Install: claude install-skill dbtinoy-/lexigram-framework-skills
# Resilience Patterns
## Overview
Lexigram provides composable fault-tolerance primitives: retry, circuit breaker, bulkhead, rate limiter, and timeout. Patterns compose into a `ResiliencePipeline`.
## Decorators
All decorators take config objects, not raw keyword arguments. Decorators apply bottom-up — write the stack so the closest decorator to the function runs first:
```python
from lexigram.resilience import retry, circuit_breaker, bulkhead, with_timeout
from lexigram.resilience import RetryConfig, CircuitBreakerConfig, BulkheadConfig, TimeoutConfig, CircuitBreakerRegistry
@with_timeout(TimeoutConfig(timeout=30.0)) # 4th: outermost deadline
@retry(RetryConfig(max_attempts=3, base_delay=1.0, backoff_factor=2.0)) # 3rd: retry inside CB
@circuit_breaker("external-api", registry=CircuitBreakerRegistry(), config=CircuitBreakerConfig(failure_threshold=5, recovery_timeout=30)) # 2nd: fail fast
@bulkhead(BulkheadConfig(max_concurrent=10, queue_size=20)) # 1st: limit concurrency
async def call_external_api(payload: dict) -> Result[Response, DomainError]:
return await self.client.post(payload)
```
## Programmatic API
```python
from lexigram.resilience import (
RetryConfig, CircuitBreaker, RetryPolicy,
CircuitBreakerConfig, CircuitBreakerRegistry,
ResiliencePipeline, TimeoutConfig,
)
# Retry
config = RetryConfig(max_attempts=3, base_delay=1.0, backoff_factor=2.0, jitter=