whiteducksoftware / whiteducksoftware/flock
🛡️ [FEATURE] [1.0] Advanced Retry & Error Handling
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 120
- Forks
- 14
- Avg merge
- 19h 32m
- Merged PRs (30d)
- 8
Description
Is your feature request related to a problem?
In production, transient failures and poison artifacts require sophisticated retry strategies. Today we only have a global max_agent_iterations safeguard, so teams build their own retry wrappers, dead-letter queues, and circuit breakers. This leads to duplicated logic and inconsistent observability across deployments.
Describe the solution you want to see
- Add a first-class retry configuration API on agents/components supporting strategies like exponential backoff with jitter, selective retry by exception type, and maximum attempt limits.
- Provide a built-in dead-letter queue implementation that captures failed artifacts and their traces for later inspection or replay.
- Introduce per-agent circuit breakers with configurable thresholds, recovery windows, and half-open probes.
- Emit structured metrics/traces for retry attempts, DLQ size, and circuit state so operators can monitor behavior in dashboards and alerts.
Describe alternatives you have considered
Current workarounds involve wrapping agents with custom components or external schedulers, but those solutions bypass Flock’s tracing and visibility semantics, and they don’t generalize across teams.
Additional context
Ensure retry metadata travels with artifacts so downstream agents know when data was retried or DLQ’d. Coordinate with persistence efforts (#271) to store DLQ entries durably.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by mapping the agent/component configuration around the existing max_agent_iterations safeguard, then review how artifacts, tracing, metrics, and persistence currently work. Coordinate with persistence efforts in #271 before defining durable dead-letter queue behavior. Done means the retry, selective failure handling, dead-letter queue, circuit breaker, metadata, and observability requirements are specified and covered across deployments.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- ai, backend, distributed-systems, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100