Repository navigation
This release fixes three ways 1.0.x could report "better" for a prompt that wasn't: when runs failed, when the agent changed its own input, and when a cached old-prompt answer was paired with a fresh new-prompt answer. If a 1.0.x gate report listed errors, or your agent modifies the case it receives, run that gate again.
Changed
- Any failed run, under either prompt, turns a "better" verdict into "not sure yet" and says why. Failed pairs used to be dropped.
- Cached answers are reused only when the cache holds both prompts' answers for a case and sample; otherwise both run again back to back. The cache key now includes the case input.
checkupandproposewrite proposals from one part of your cases and gate them on the rest. The newrun.holdoutsetting defaults to 0.5, so a proposal needs about 40 cases before it can be tested; with fewer, the report shows it untested anddoctorwarns.- The split used by
checkup,proposeandevolveholds out an exact number of cases, chosen by a SHA-256 hash of their IDs. Any ID now works. Splits differ from 1.0.x. - The check-up compares with the latest snapshot, whatever its prompt, so a rollback is checked against last week.
- The check-up says "Stable" only after a clean drift comparison. The first run, partly failed runs and runs where every call failed (exit 3) have their own headlines.
Fixed
- Each agent call gets its own copy of the case input and prompts, and stored answers are copied.
evolveno longer crashes on case IDs that aren't hexadecimal.@recordcopies the input before the call and skips duplicate IDs, so its files always load.- Redaction now covers agent error text and answers loaded from older snapshots.
assert_no_lookaheadalso changes each future number at random and removes future rows, so it catches a view that compares two future values.- A "not sure yet" report suggests adding cases instead of running again.
- Gate reports show how often the judge gave the same answer in both orders.
- Documentation: stated the assumptions behind each simulated result, split the unreviewed-regression result by size, corrected the false "better" worst case, the privacy FAQ, the cost cap, the
evolveconfidence description, and several places where the design described the code wrongly. Added GEPA toCITATION.cff.
pip install --upgrade promptcheckup