Skip to content

v0.1.0-alpha

Pre-release
Pre-release

Choose a tag to compare

@piyush-bit piyush-bit released this 26 Jul 20:00
· 5 commits to main since this release

Release Notes — v0.1.0

TDES (Transport, Delivery, and Evaluation System)
Release Date: July 2025


Highlights

First release of TDES — a pluggable system for packaging, distributing, submitting, and automatically grading coding lab exercises. Ships with a fully end-to-end offline flash-drive workflow, an online registry server transport, Docker-sandboxed evaluation, encrypted submissions, and an embedded Web UI.


Student CLI

Command Status
euc2 init <id[@ver]> <dir> — Initialize workspace from local cache Complete
euc2 fetch <id> --drive <path> — Fetch exercise from USB drive (offline) Complete
euc2 fetch <id> --remote <url> — Fetch exercise from registry server (online) Complete
euc2 run — Run public tests in Docker sandbox Complete
euc2 run --local — Run public tests on host Complete
euc2 submit --drive <path> — Encrypted submission to USB drive Complete
euc2 submit --remote <url> — Submit to server with TOFU PIN auth Complete
euc2 submit --update-pin <pin> — Rotate student PIN Complete
euc2 evaluate <submission.tar> — Grade locally in Docker (auto-pulls private tests) Complete

Drive-Based Admin CLI

Command Status
euc2 drive prepare <path> — Initialize drive directory structure Complete
euc2 drive add-exercise <path> <id> <ver> — Copy exercise onto drive Complete
euc2 drive prepare-submission <path> — Configure drive with X25519 recipient key Complete
euc2 drive decrypt-submission <envelope> — Decrypt a single submission envelope Complete
euc2 drive evaluate-batch <path> — Decrypt and grade all submissions, export CSV/JSON Complete

Exercise Authoring CLI

Command Status
euc2 package <dir> — Validate reference solution, split public/private packages Complete
euc2 publish <dir> --remote <url> — Package and upload to registry server Complete

Server Admin CLI

Command Status
euc2 admin onboard-students <csv> — Upload student roster for TOFU activation Complete
euc2 admin get-grades — Retrieve grades (stdout / --csv / --json) Complete

Registry Server API

Endpoint Status
GET /healthz — Health check Complete
POST /v1/exercises/publish — Upload exercise packages Complete
GET /v1/exercises — List exercises (filterable) Complete
GET /v1/exercises/{org}/{id}/versions — List versions Complete
GET /v1/exercises/{org}/{id}/versions/{ver} — Version metadata Complete
GET /v1/exercises/{org}/{id}/versions/{ver}/download — Download artifact Complete
POST /v1/exercises/{org}/{id}/versions/{ver}/status — Update version status Complete
DELETE /v1/exercises/{org}/{id}/versions/{ver} — Delete version Complete
GET /v1/artifacts/{sha256} — Download by content hash Complete
POST /v1/submissions — Student submission + sandbox evaluation Complete
GET /v1/submissions — Query grades (JSON/CSV) Complete
POST /v1/admin/onboard — Upload student roster Complete

Web UI (euc2 ui)

Feature Status
Monaco code editor with file tree Complete
Docker / local test runner with live output Complete
Multi-step submit wizard (drive + remote) Complete
Admin drive management & batch evaluator Complete
X25519 keypair generator Complete
CSV report export Complete
admin-dashboard admin-drive student-dashboard student-monaco

Known Limitations

  • euc2 new-exercise (scaffold templates) — not yet implemented
  • Server uses bearer token auth — role-based access control planned for future release