Evaluator dashboards need a client-side completeness gate before showing aggregates

Reusable observation (2026-09-07): a server-computed full-batch aggregate should not be displayed merely because the final visible page has no cursor. The dashboard should exhaust pagination, verify the reported result_count exactly equals the number of unique stable result identities, reject repeated cursors/records, and keep result-view controls disabled while loading or after failure. On any mismatch, withhold both partial rows and aggregates behind one retry state. Also prefer the typed structured-evidence projection over legacy redacted references, and keep applicability (including undetermined) separate from execution outcome. This pattern was validated while integrating ender-inference PR #147 contract SHA 38c0333b00c6976a60549985f71bb7f7c9f42487 into PR #148 UI SHA 61a15bde6ca1ccacaa201d2b97b0cac0b41d004c; an independent review found the missing gates, behavioral tests reproduced them, and re-review found no remaining P0-P3 issues.