Repository navigation
Frontier-simplify 2.3.0 checks every finder review with two independent validators and lets the calling agent finish every loop without waiting for a person.
- Finder plus two validators (#56, #59). When a review would be recorded, a refuter and a reproducer run in parallel over the finder's whole answer. Each gets its own fresh checkout with the same inputs and does not see the other's answer, and no further model combines them. They are skipped only when a first review's last nonblank line is exactly
Validation candidates: NONE. A failed, empty or timed-out validator returns5with an intact receipt, and the finder's review still feeds the next follow-up throughPRIOR_VALIDATION.mdand copies of the earlier answers. - Cancellation ends as cancelled. SIGINT and SIGTERM stop every validator, keep what each one already wrote and release the lock. The attempt uses one reservation, and a cached
autodoes not rerun it. - No redesign stop (#59). The runner no longer returns
12or writesREDESIGN-REQUIRED.md. A key that stays open in two consecutive reviews only adds a note, and the review runs anyway. Failing witnesses (13) and the three-attempt limit are unchanged, and old records stay readable. - The calling agent finishes (#51, #53). SKILL.md,
HANDOFF.md,statusand the READMEs give a next action for each exit. Every path ends in the existing completion path or as failed with its cause. A clean10on the exact head continues to completion, and a review whose inputs changed before it finished is never offered as complete. - Prompt adjustments (#56). A style point alone never forces a repair. Each finding says whether this change introduced it. Reported or resolved findings are never re-issued under a new ID.
None of this adds a judge, a vote, a result schema, a new ledger version or a retry policy, and no exit status or validator agreement authorizes a merge.
Verification
Release commit: 1dcc72ed7d16d24d1f338f169f585094f32a6c56 (merge of #68; its tree is identical to the PR head 3cddb66).
- PR checks ran the full offline selftest on Ubuntu and macOS. Both jobs succeeded on a rerun. The first macOS attempt failed
timeout-records-one-failure-and-cleans-childrenandtimeout-leftover-lock-does-not-claim-running(protocol 179/2), while Ubuntu passed. Three local runs that print each condition of that test passed. This is the same kind of intermittent hosted-macOS signal and timeout failure recorded in 2.2.0, and it is still unresolved. - Locally on macOS (Python 3.12), on the release tree: full
selftest.sh213 passed, 0 failed; protocol 181/0 three times;selftest-followup.py67/0; every otherselftest-*.pyandgenerate.py --selftestexit 0. - An independent Codex review (gpt-6.1-sol, xhigh) ran five rounds over the change. It found blocking defects in cancellation cleanup, exact marker matching, exit-10 guidance and stale handoffs. All are fixed, and the last round found none.
Not run: live codex or claude validators. Stub and fake-CLI runs show the wiring only, not the quality of a live model's review. The external callers (ACP #1189, Logic Pro MCP #1403) were not exercised.
Install from the tagged source archives using the README. No separate registry package or uploaded binary asset is supplied.