Repository navigation
feat(web): compare evaluation runs by opponent - #106
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
After training a new snapshot, users can now open two local tournament reports and select the model to inspect in each run. The comparison shows full-run scores and rating intervals, plus wins, draws, losses, and excluded games against each opponent. Reports links to the new comparison page.
Per-opponent score changes appear only when the game, engine, game options, position-set checksum, and seed/seat/start schedule match. Unmatched settings and schedules are explained; unrated games remain visible and no cross-run rating ranking is inferred. Reports without position-set metadata still open, but cannot produce a score change. Files remain in the current tab, and an invalid replacement preserves the previous report and selected model.
Validation:
make check-web build-web; all 42 browser tests and all eight repository CI workflows passed. Browser coverage for native policy snapshots, model switching, mismatched settings and schedules, missing provenance, policy failures, invalid replacements, local-only imports, and mobile keyboard interaction. Production preview verified at 360, 640, 768, 1024, and 1440 pixels. The new fixture is a real native-engine run with a last-legal-action Python policy; its measured results differ from the existing example.