Proto commits in howardlau1999/autograder-server

These 43 commits are when the Protocol Buffers files have changed:

Commit:87743c9
Author:Howard Lau

fix(hub): bind grader identity to registration and unify scheduling/subscriptions GraderHub (§3.9–§3.12, §4.3–§4.5, §5.8): - Issue a per-registration session token (RegisterGraderResponse.session_token) and authenticate every GraderHubService call through unary/stream interceptors: hub token + grader id + session token must all match, and a request body naming a grader id must name the authenticated one. Handlers take the grader id from the context instead of self-reported metadata. - Grade RPC is refused on the wire; grading is enqueued in-process via EnqueueGrade. GradeCallback only accepts reports from the grader holding the claim, so a stale or impostor stream cannot overwrite results. - Scheduler: snapshot grader loads once per pass, pick the least-loaded grader in sorted id order, claim in DB before pushing to the outbox, and wait on the condition variable instead of spinning when nothing fits. - onGraderOffline requeues outside runningMu/queue.mu (fixing the lock order inversion and the double unlock on a closed queue) and skips submissions that already reached a terminal state. - Replace both "slice of channels" subscription registries with a single ReportMailbox-based one on the hub: non-blocking publish that coalesces the latest state, explicit Unsubscribe, closed on completion. The service layer's duplicate reportSubs/goroutine is removed. - GradeCallback: handle SendAndClose error, drop goto. Grader client (§2.5, §5.8, §7.3): - Store (graderId, sessionToken) in an atomic pointer and attach them to every outgoing call; stop fataling on AlreadyExists and retry instead. - Rewrite sendReports/submissionReporter without goto; stop retrying forever on PermissionDenied/Unauthenticated and cancel the local run instead. - Check StreamLog Send errors; remove unused runningSubs/rpcTimeout. Service (§3.6, §3.7, §5.4, §5.7): - Enforce submission limits per validated submitter; drop the duplicated UpdateBrief/MarkUnfinished/DeleteManifest and stop failing CreateSubmission on post-creation cleanup errors. - runUnfinishedSubmissions logs instead of panicking in a goroutine. - HandleFileDownload opens all files before streaming the zip. Also: close iterators on error paths in GetUsersByCourse/GetCoursesByUser, remove the unimplemented UpdateGraderStatus (§7.2), add grader.proto to proto.sh (§7.15). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

The documentation is generated from this commit.

Commit:d1c199f
Author:Howard Lau

pkg: export submittedAt

Commit:bc34a6d
Author:Howard Lau

*: export with leaderboard

Commit:4426b93
Author:Howard Lau

*: courses table

Commit:2f0b7b8
Author:Howard Lau

*: update

Commit:3331a34
Author:Howard Lau

*: update

Commit:22b8cad
Author:Howard Lau

*: log

Commit:bba86ad
Author:Howard Lau

*: limit submission size

Commit:9da4acd
Author:Howard Lau

*: update

Commit:00fad91
Author:Howard Lau

*: update

Commit:fba875f
Author:Howard Lau

*: queue rank

Commit:29e7fe3
Author:Howard Lau

*: update

Commit:4f300c6
Author:Howard Lau

*: update

Commit:2e316b5
Author:Howard Lau
Committer:Howard Lau

*: cancel

Commit:15423f5
Author:Howard Lau

*: distributed grader

Commit:8a33e5c
Author:Howard Lau

*: update

Commit:91b896b
Author:Howard Lau

*: add limit

Commit:3fd43d7
Author:Howard Lau

*: update

Commit:ef05ec0
Author:Howard Lau
Committer:Howard Lau

*: update

Commit:6cb01eb
Author:Howard Lau

leaderboard: add suffix

Commit:3cc1440
Author:Howard Lau

*: update

Commit:137af48
Author:Howard Lau

*: add inspection

Commit:e87f605
Author:Howard Lau

*: allow join

Commit:37618e4
Author:Howard Lau

*: update

Commit:7754b30
Author:Howard Lau

*: update

Commit:060b463
Author:Howard Lau

*: update

Commit:02dc2b0
Author:Howard Lau

*: update

Commit:e649c62
Author:Howard Lau

*: update

Commit:8c3d619
Author:Howard Lau

*: add captcha

Commit:ef0d9de
Author:Howard Lau

*: password reset

Commit:a5ddfce
Author:Howard Lau

*: update

Commit:7bc0911
Author:Howard Lau

*: add auth

Commit:3d359fe
Author:Howard Lau

*: download file

Commit:8820777
Author:Howard Lau

*: update

Commit:fa2e44e
Author:Howard Lau

*: add leaderboard repo

Commit:647db4f
Author:Howard Lau

*: subscirbe

Commit:18ed8a7
Author:Howard Lau

*: update

Commit:10e5c2b
Author:Howard Lau

update

Commit:c2141d2
Author:Howard Lau

update

Commit:2f73490
Author:Howard Lau

add user service

Commit:5a1aa5e
Author:Howard Lau

manifest

Commit:3a48287
Author:Howard Lau

*: assignment course api

Commit:df4d920
Author:Howard Lau

init