Diagram: Submission to verdict flow
Baseline policy for student workloads
| Option | Recommended value | Why |
|---|---|---|
mode | "ephemeral" | each run starts clean; no student-to-student state bleed |
network | "none" | prevents internet-assisted answers and reduces risk |
timeoutMs | short per question (for example 3000-10000) | stops infinite loops quickly |
memoryLimit | conservative (for example 256m or 512m) | protects host resources |
pidsLimit | low (for example 32) | limits fork/process abuse |
Use
mode: "persistent" only for deliberate stateful labs. Standard grading pipelines should stay ephemeral.Platform bootstrap across interfaces
- Library
- CLI
- API
Pattern 1: deterministic test-case grading
Use normalized comparison and collect per-case diagnostics.Pattern 2: verdict mapping (OK / TLE / RTE / MLE)
Keep verdict mapping centralized so all products (judge, classroom UI, analytics) classify failures the same way.
Pattern 3: interactive playground with streaming feedback
UseexecuteStream() for live feedback while students type/run code.
Pattern 4: multi-language problem support
Keep one problem statement and allow selected runtimes through an explicit allow-list.Pattern 5: class-scale batch grading
Process submissions concurrently while respecting capacity and queue depth.Assessment design patterns that reduce noise
- normalize output before diffing (
trim, newline normalization) to avoid formatting-only failures - separate compile/syntax checks from full test execution so students get faster feedback
- return per-case feedback (
caseId, expected, actual, stderr) instead of a single pass/fail flag - keep limits aligned to assignment difficulty and document them in the classroom UI
- use
network: "none"for default assignments; explicitly allow network only for network-specific labs
Related pages
Execution guide
Request fields, execution lifecycle, streaming, and output behavior.
Runtime reference
Runtime selection details and extension-based auto-detection behavior.
Security model
Isolation controls and network policy for untrusted student code.
CI and automated testing
Reuse judge-style grading patterns in CI pipelines.
Option mapping
Exact CLI, config, API, and library mapping for execution options.