Skip to content

Add check for judge-specific limits - #514

Merged
pehrsoderman merged 3 commits into
Kattis:masterfrom
gkreitz:345_configure_limits
Nov 2, 2026
Merged

pehrsoderman merged 3 commits into
Kattis:masterfrom
gkreitz:345_configure_limits

Conversation

@gkreitz

@gkreitz gkreitz commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

We occasionally receive problem packages with outrageous limits. For example, someone may have (not unreasonably) assumed that the memory limit is in bytes, while the actual unit is MiB. The spec doesn't give hard bounds, for good reason.

This PR adds a new config file, judge.yaml which allows a judge system to document what they want to support. Exceeding any of these limits will be a warning in problemtools. By default, judge.yaml is included with a conf suitable for Kattis. It is up to the judge system whether the limits documented this way are soft or hard. For Kattis, most of them are soft (so if you really need to go above a limit, discuss with us). I believe most of our limits are also roughly in line with other systems' preferences.

Judge limits are implemented as a new "part" (so -p can select/deselect it). If you want different limits, simply drop a judge.yaml in one of the usual directories. We also support it sitting above the problem directory (e.g., if you have a repo for problems you want to run on domjudge).

Fixes #345

@pehrsoderman
pehrsoderman merged commit 5c685f3 into Kattis:master Nov 2, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Additional checks

2 participants