### wai-quantum: a circuits course checked by the engine, documentation that runs, and Simplified Chinese

Someone new learns quantum computing and the toolchain from material the engine checks, in English or Simplified Chinese, and no page can drift from what the code does.

- **The circuits course** (`engine::course`, `wai-quantum/course/`): 21 lessons in eight units, from a first circuit through superposition, entanglement, interference, Deutsch–Jozsa, Bernstein–Vazirani, Grover, the quantum Fourier transform and phase estimation, noise and its mitigation, the bit-flip code and its syndrome, a Toffoli from Clifford+T and the T count, to a resource estimate.
  - The lessons are data: Markdown in each locale and an `exercise.json` with a JSON Schema (`wai-quantum/schemas/exercise.v1.json`, and `course.v1.json` for the course), so the same course runs in the Studio, the desktop app and the command line.
  - An exercise states its intent (an exact distribution, the same circuit or state as a program of its own, or a sampled test) and is checked with the verdict, in several cases for a generator's inputs, under the exercise's noise where it has some. Its constraints (the gates allowed, gate counts, the T count, the critique's smells, the resource estimate's counts) are measured on the program.
  - What went wrong and the hints come from the reader's diagnostics, the verdict and the critique, in the reader's language with the engine's own words beside them, and never show the solution. The tests hold every solution to pass by proof or evidence, every known wrong answer to fail for its stated reason, every starter to fail, and no hint or lesson to give the solution.
  - Progress is kept only where the learner is: the browser's storage, or `quantum-learn.json` beside the user's key.
  - The seven-module course on interference and learning stays where it is, on the site, listed beside this one.
- **The command line**: `wai-quantum learn` lists the course and the progress, and `learn show`, `start`, `check` (exit 0 passed, 1 not yet), `hint`, `why` and `progress` work through a lesson. `--lang` (or `WAI_QUANTUM_LANG`, `LC_ALL`, `LC_MESSAGES`, `LANG`) picks English or Simplified Chinese for the command line's own words: the course, the `docs` topics and the summary of every command `--help` lists, each translation held to the English it came from and shown in English once that changes.
- **The Studio and the desktop app**: a Course pane (the lessons, a lesson's text and exercise, Load the starter, Check, Hint, What went wrong?, and a hint from a connected model with any program in its answer held back), and the whole interface's words as data in `quantum-studio/locales/`, English and Simplified Chinese; the Studio follows the browser's language until the reader picks one with the switch. `engine_course`, `engine_course_lesson`, `engine_course_check` and `engine_course_hint` in the page, the same commands in the desktop app; a course check is the same bytes natively and in wasm32.
- **Documentation that runs** (`wai/tools/quantum-docs/`): `check_docs.py` runs every block marked runnable on the pages `docs.json` names (the engine, the command line, the service, Python, the Studio, the desktop app, the editors, the providers, the compiler, estimates, verdicts, the feature matrix, the course and the translations), holds each shown output to the real one, verifies every receipt a block writes, builds the Rust blocks, and checks every block that cannot run for the commands and flags it names, every `wai-quantum …` in the prose, every relative link and every dependency shown. Its fixtures are in `fixtures/`; `ci.sh` is the check as CI runs it.
- **Drift fixed**: the crate's README pinned `"0.4"`, named an unrelated crate for the command line, documented its research tools (`entropy`, `dmrg`, `qec` and the rest) outside `lab`, and claimed the whole suite runs under wasm32-wasip2 where CI runs its pinned results and core; the command line's README had placeholders and optional flags that did not run, a history merge of versions that do not exist, and a fixed formatter check in the wrong order; the service's, the desktop app's and the editor's build steps now match what CI runs. An observable may lead with its coefficient (`"0.5 X2"`), as the command line, the Studio and the guide documented.
- **Translations**: the course, the command line's words, the Studio's interface, the main READMEs and the documentation's index in Simplified Chinese, each marked machine-assisted, to be reviewed by a fluent reader before it is advertised.
- **Index**: `wai-quantum/docs/README.md` links every page, with a place for the migration and versioning pages.
- **Schemas** (the version contract): the course as kept and as served (`wai.quantum.course/1`) and each exercise (`wai.quantum.exercise/1`), moved from `course/schema/` to the crate's `schemas/` with the rest; a check, a lesson as served and a hint (`wai.quantum.course-check/1`; a check now names its engine beside its schema); and the command line's progress file (`wai.quantum.learn-progress/1`). The docs runner reads the error-correction page, the version policy, the deprecations page and the service's self-hosting, scheduler and provenance pages too, and the index links them; the crate's README names 0.7. The command line's Chinese words cover the verbs the other branches added (`task`, `qec`, `eval`, `version`) and `submit` as it reads now, and the compile pages and the Studio's compile lens name the gate set `basis` in Chinese too.
- **CI**: `wai-quantum-docs.yml` (the docs runner, the course's tests and the command line's language tests by name, the Studio's locale check); the Studio's e2e checks the course in English and in Chinese; wai-web's engine tests, with every entry's of this release, pin 26 native and 18 wasm32.

