5 Commits
Author SHA1 Message Date
Vijay Janapa Reddi 96e4bd9b09 feat(staffml): take hardware, network, and model numbers from MLSysIM
StaffML is a static site and cannot run MLSysIM, so its numbers lived in a
hand-copied table that cited a deleted mlsysim/core/constants.py. Five
devices had drifted: Jetson Orin NX showed its FP16 rate under an INT8
label, the A17 Pro listed 100 GB/s against 51.2 GB/s, B200 memory was 192
against 180, TPU v5p had the wrong year, and every ESP32-S3 field was off.

scripts/export_mlsysim_data.py now reads the MLSysIM registries straight
from the repo and writes src/data/mlsysim.json, which hardware.ts serves.
Each row records the registry entry it came from. Interconnect and latency
values move to MLSysIM's measured or sourced figures (NVLink B200 0.5 us,
InfiniBand XDR 5 us, 100GbE 50 us, Hopper HBM 273 ns). The cross-US fiber
row stays local because MLSysIM has no route distance. The simulator's
flops_per_token is 6 x parameters, now labeled as training cost.
2026-10-27 20:27:16 +01:00
Vijay Janapa Reddi 48dc404e52 Revert "fix(staffml): keep hardware reference rows readable"
This reverts commit 1214365a67.
2026-10-27 20:27:07 +01:00
Vijay Janapa Reddi 1214365a67 fix(staffml): keep hardware reference rows readable
Latency comparisons such as "4.5 minutes" wrapped onto two lines in the
narrow column, raw latencies showed noise digits (272.82 ns), and the
ESP32-S3's 80 MB/s bandwidth rounded to "0 GB/s".
2026-10-27 20:26:35 +01:00
Vijay Janapa Reddi a83d4d8bff Retire design-grammar and the StaffML Framework page
The design grammar catalog is no longer maintained. Remove design-grammar/
and everything that consumed it:

- StaffML: the /framework route, its CSS module and pop-in keyframes, the
  generated designGrammar.ts, the sync script and its predev/prebuild
  hooks, the modal a11y test, and the Framework entries in the nav, the
  ecosystem bar, and the screenshot/responsive audit route lists.
- CI: design-grammar leaves the staffml-validate-dev sparse checkouts; the
  comment that explained why it was needed goes with it.
- The contributors config, its README section, the root README project
  bullet, the citation-packet scopes, the bib style baseline entries, the
  periodic-table ignore rule, and the repository map.
2026-09-10 16:59:32 +02:00
Vijay Janapa Reddi f1ffe5b6fa Rename interviews/ to staffml/ and drop the repeated prefix inside it
interviews/ held StaffML and nothing else, so the directory now carries the
product's name. Three names inside it repeated that prefix, and now line up
with vault/, vault-cli/, and paper/:

  interviews/staffml/               -> staffml/app/
  interviews/staffml-vault-worker/  -> staffml/vault-worker/
  interviews/staffml-vault-types/   -> staffml/vault-types/

Every repository path moved with it: workflow paths: triggers and variable
fallbacks, pre-commit hooks, .gitignore, contributor tooling, vault-cli path
joins, the app's tsconfig mapping to the shared types, and the docs.

Left alone on purpose:
- the published /interviews/ redirect to /staffml/ and the gh-pages subsite
  lists that protect it; those are URLs, not repository paths
- package and worker names (staffml-vault-worker, @staffml/vault-types) and
  the vitest job name, which branch protection may key on
- question YAMLs and generated track JSON, which are content-addressed.
  Three questions carry an older corruption, "recall @interviews/vault/
  questions/...", that predates this change
- the applied D1 migration 0001 and the vault CHANGELOG, which are history

codegen-hashes.txt is re-recorded; the three pinned artifacts changed only in
path strings. vault-cli: 97 passed, codegen --check clean.

interviewer.py's __main__ loader was one parent short and pointed at a
corpus.json that never existed; it now resolves staffml/app/src/data/
corpus.json. tools/validate_playbook.py and generate_interview_flashcard.py
still expect per-track directories that no longer exist; they point at the
new root but remain dead.

The GitHub repository variables STAFFML_ROOT, VAULT_DIR, and VAULT_CLI_DIR
still name the old paths and must change when this reaches origin.
2026-09-10 14:48:04 +02:00