Skip to content

docs: global student-lab rollout (license, README/SETUP, CI, devconta…#31

Merged
nikosvil merged 4 commits into
mainfrom
feat/global-rollout
Jun 17, 2026
Merged

docs: global student-lab rollout (license, README/SETUP, CI, devconta…#31
nikosvil merged 4 commits into
mainfrom
feat/global-rollout

Conversation

@nikosvil

Copy link
Copy Markdown
Owner

…iner)

The platform is feature-complete (P0-P4 + Cloud Phase) but the repo's front door was stuck at "no application code has been written yet". This makes it usable by student labs anywhere:

  • LICENSE: AGPL-3.0 (free to use/share, source + attribution required)
  • README.md: rewritten as a front door (pitch, what's inside, 3-tier get-started table, instructor pointer); old decisions log preserved in a collapsed history section, with a new entry for this rollout
  • SETUP.md: detailed multi-OS, multi-tier setup guide (Model-only, Measured CPU via Docker, Measured GPU via CUDA), env vars, verification checklist, shared classroom gateway + security note, troubleshooting
  • apps/web/.env.example: documents NEXT_PUBLIC_VHPCE_API and ANTHROPIC_API_KEY (gitignore updated to track this one file)
  • .devcontainer/devcontainer.json: zero-install Codespaces path
  • .github/workflows/ci.yml: Tier-0 install/typecheck/lint/build on push/PR
  • package.json: gateway:* scripts wrapping the documented docker compose commands; apps/web/package.json gains a typecheck script (root "pnpm typecheck" was previously a silent no-op)
  • .gitignore: ignore .turbo/ build cache

nikosvil and others added 4 commits June 15, 2026 12:13
…iner)

The platform is feature-complete (P0-P4 + Cloud Phase) but the repo's front
door was stuck at "no application code has been written yet". This makes it
usable by student labs anywhere:

- LICENSE: AGPL-3.0 (free to use/share, source + attribution required)
- README.md: rewritten as a front door (pitch, what's inside, 3-tier
  get-started table, instructor pointer); old decisions log preserved in a
  collapsed history section, with a new entry for this rollout
- SETUP.md: detailed multi-OS, multi-tier setup guide (Model-only, Measured
  CPU via Docker, Measured GPU via CUDA), env vars, verification checklist,
  shared classroom gateway + security note, troubleshooting
- apps/web/.env.example: documents NEXT_PUBLIC_VHPCE_API and
  ANTHROPIC_API_KEY (gitignore updated to track this one file)
- .devcontainer/devcontainer.json: zero-install Codespaces path
- .github/workflows/ci.yml: Tier-0 install/typecheck/lint/build on push/PR
- package.json: gateway:* scripts wrapping the documented docker compose
  commands; apps/web/package.json gains a typecheck script (root
  "pnpm typecheck" was previously a silent no-op)
- .gitignore: ignore .turbo/ build cache
This file (present since the initial commit, containing only
ignoredBuiltDependencies) made pnpm treat apps/web as its own isolated
workspace root whenever a command ran with cwd=apps/web, breaking
resolution of @vhpce/* workspace:* deps with ERR_PNPM_WORKSPACE_PKG_NOT_FOUND.

It was dormant while root `pnpm typecheck` was a no-op, but the global
rollout commit gave apps/web a real typecheck script, exposing it in CI.
The root pnpm-workspace.yaml already covers the same builds via allowBuilds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…oggle

Model results are pure functions of (exp, params), so compute them
synchronously via useMemo instead of through a useEffect + setState —
this avoided a one-render-late/stale `result` when switching experiment
or mode. Split state into modelResult/measuredResult and derive `result`
from the active mode, and gate the loading spinner (`showLoading`) to
measured mode only so a stale fetch's `loading=true` no longer bleeds
into Model mode.

Also replaces Record<ExpId, any> params with a proper ExpParams type and
adds `?? ` defaults for fields that are now optional per-experiment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
README What's inside: expanded from 5 to 9 pages (Intro, Start, Learn,
Reference, Heat Lab, Flagship, Compare, Playground, Play) with accurate
counts (9 experiments, ~190 reference entries) and all feature additions
(Essentials filter, predict-before-you-run, diagnostics, thread-count
explorer, kernel race). Added /intro + /start pointers in Get started.

PROGRESS.md: header date updated; phase table gains Engagement + Rollout
rows and lists all 4 GPU experiments in P4; What's built adds Intro,
Start, Compare, Play/Race/badges, GPU Coalescing/Divergence/Atomics,
Reference Essentials, Playground predict+diagnostics+explorer; routes
list and repo layout updated; pending decisions replaced with status
summary; next steps pruned (done items removed, badges-pr30 added).

docs/02-roadmap.md: P4 status updated to list all 4 GPU experiments;
P5 gets a 2026-06-17 note (gamification layer partially landed).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@nikosvil nikosvil merged commit 26a8509 into main Jun 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant