Skip to content
#0972
TerminalContainers

Your shell is terminal 1; the graders live above 40000

The autograder runs inside each student's container, through that student's terminal service. It used to run in terminal 1. So did the student. Grading output landed in their history, and once a grader started while a student was mid-vim.

Now every grading run calls POST /api/v1/terminal/execute?ephemeral=true. The session gets an auto-generated ID in the 40000-65535 range, skips display and dbus initialization, strips DISPLAY so the grader can't open a window on the student's desktop, and cleans itself up after idle. Forty graders at 11:59pm, forty PTYs that didn't exist at 11:58 and won't at 12:05. Terminal 1 is untouched; the history stays the student's.

Same container, same box, no second machine for the robots. The grader is a guest with its own room and a checkout time.

Your shell is terminal 1; the graders live above 40000.