Branch: course/redact-qvac. Every lesson is one commit on that branch, with a tag. All checkpoints from lesson 02 on pin @qvac/sdk 0.22.0.

Lessons

redact-11-copy-check is the tip of course/redact-qvac.

Getting a checkpoint

Clone once, then start a branch of your own at any tag:
The app is in the redact/ folder of every checkpoint.

Stepping to the next lesson

From your branch at the previous lesson, bring in the next lesson’s commit:
The compare link in the table shows exactly what that commit changes. Run npm ci in redact/ after a lesson that changes package-lock.json (lessons 02 and 03).

Verification

On 2026-10-25, at every commit above: npm run typecheck, npm run lint and npm test passed, with the unit-test counts in the table. The package files of lessons 02 to 05 are unchanged from an earlier build of these commits, where each passed a clean npm ci. At 8b09dea, with real inference on an Apple Silicon Mac:
  • npm run qvac:evaluate, with the same results as the runs before it.
  • npm run qvac:offline with remote networking denied.
  • The live browser test, e2e/offline-qvac-workflow.spec.ts.
  • The lesson 08 and 11 flows in a real browser, and a clean Ctrl+C on the service with both models loaded.
npm run build was not rerun at 8b09dea.