The deadline is a cron line that takes a snapshot
Homework 3 is due Friday at 23:59. Nobody uploads anything.
At 23:59 a cron entry walks the roster and POSTs a snapshot to each student's container with alias hw3-final and a 90-day expiry. Copy-on-write, so forty snapshots cost forty deltas. The student keeps working on their machine if they want; the graded state is already sealed.
The grader copies from hw3-final into the grading project: source_snapshot on the copy request: and gets the student's actual environment: their code, their database, the packages they installed, the shell history that shows how they got there. Run the tests. Break it. Delete the copy. The student's container never felt a thing.
No zip file with the wrong folder structure. No "it worked on my laptop." The submission is the machine, frozen at 23:59.
The submission is the machine, frozen at 23:59.