Last night Fettle serviced 4 agents.
Every fix below was produced by Codex and confirmed by the benchmark gate. Trace-replay results are marked; other after-values are benchmark-goal projections.
A missing backoff cap means that when a job fails, the agent retries in a tight loop — up to 11 times in one turn — inflating latency and token spend. Planning has degraded: average steps-per-task climbed from 3 to 7 with no better outcomes.
Two problems: (1) untrusted row content from the DB is concatenated straight back into the prompt, so a poisoned row can hijack the agent (prompt injection). (2) The DB connection string — including the password — is logged to trace output on every error, leaking secrets into logs.
The `lookup_invoice` tool started failing on ~30% of calls after the billing API renamed `invoice_id` to `invoiceId`. The tool schema was never updated, so the agent sends the wrong field and gets 422s.
The system prompt has been appended to for months and is now ~3,200 tokens of stale examples and contradictory rules. Every call pays for it, and token cost has roughly doubled with no quality gain. The workflow also re-fetches the same sources every run instead of caching.