This guide describes the Agent Eval 0.18.0 API. Maven coordinates and Java packages still use
agent-judge and io.github.markpollack.judge.Jury before calling vote().
Keep each member’s actual requirement and evidence, and retain complete originals and attempted children.
A heterogeneous ready panel may combine different inputs without inventing a shared parent requirement.
Opinion rules
Voting uses typedBallot values. A Seat binds position, identity and optional declared weight; filtering cannot detach weight from its opinion.
AllEligiblePassStrategy retains the allMustPass wire token and applies to eligible opinions.
It is distinct from AllOf or native roster coverage; an unsettled required roster item cannot be dropped to obtain PASS.
Rule configuration is captured before execution and remains with failed/refused reductions when capture succeeded.
Explicit trusted factories reconstruct custom pure rules from complete retained configuration.
Identity and refusal
One declared usable Judge/member preserves its whole identity rather than inventing an average or new support signal. The original and its treatment remain separate when admission refuses an association, undeclared N/A, or unusable return. A child refusal stays visible; cancellation and preservation limits propagate rather than disappearing into generic containment.Routing and policy
Routing controls which tier executes and keeps every entered attempt. Opinion-only routing is unsuitable for native roster/AllOf descriptions withKNOWN_NONE opinions.
A refused final tier terminates INCONCLUSIVE with its original retained.
Application Policy runs separately against the final whole Verdict. It decides reliance and never rewrites routing or conclusion.
The requirements walkthrough constructs an executable native Jury and shows cached AssertJ execution.
The producer guide explains guided builders and composition-specific invariants.