e2d111ce5b0ae92c69cd1dbbf1ec80595e8f8516
Add robust error handling to the evolution loop and LLM adapters: - Retry utility with exponential backoff for transient errors (429, 5xx, timeouts) - Per-call error isolation in evaluator and judge adapter - Circuit breaker in EvolutionLoop (trips after N consecutive failures) - CLI flags: --max-retries, --error-strategy (skip|retry|abort) - Config fields: max_retries, retry_delay_base, circuit_breaker_threshold, error_strategy - 16 new unit tests covering all error handling paths Co-Authored-By: Paperclip <noreply@paperclip.ing>
Prometheus
Prompt evolution without reference data.
Quick Start
uv sync
uv run prometheus optimize -i examples/sample_config.yaml -o result.yaml -v
Architecture
Clean hexagonal architecture with four layers:
- Domain — entities, ports, scoring (zero external dependencies)
- Application — use cases, bootstrap, evaluator, evolution loop
- Infrastructure — DSPy signatures, modules, adapters, file I/O
- CLI — Typer app with
optimizecommand
Testing
uv run pytest
uv run ruff check .
uv run mypy src/
Description
Languages
Python
99.9%
Shell
0.1%