/health and /rollout).
Results Summary (Banking77, GEPA)
All jobs optimize prompts for the same Banking77 task app; only the implementation language changes.
Prerequisites
- Synth CLI installed (
synthon your PATH) - Task app contract implemented in one of: Rust, TypeScript, Python, Go
ENVIRONMENT_API_KEYset in your shell- A Cloudflare tunnel or other public URL exposed for
http://localhost:8001
The Task App Contract
All task apps implement the same HTTP contract:GET /health— basic health check used by Synth to discover and monitor the appPOST /rollout— evaluate a batch of prompt candidates and return rewards/metrics
- GitHub: task_app.yaml
- Raw:
https://raw.githubusercontent.com/synth-laboratories/synth-ai/main/synth_ai/contracts/task_app.yaml
ENVIRONMENT_API_KEYmust match theX-API-Keyheader on/rolloutrequests- Your
/rollouthandler reads the prompt candidate, runs it against your task, and returns rewards