This file is the self-service operations manual for `QuantumLearning`. It is written to match the repo as it actually exists now, not a hypothetical future state.
## Operating Model
The project is intentionally local-first and repo-local:
- Python environment lives in `.venv/`
- Jupyter config and runtime live in `.jupyter_config/`, `.jupyter_data/`, `.jupyter_runtime/`, `.ipython/`, and `.cache/matplotlib/`
- Playwright browser runtime lives in `.playwright-browsers/`
- validation artifacts live in `.tmp_test_artifacts/`
That means the day-to-day operational commands are all inside this repo.
## Bootstrap On A New Mac
Prerequisites:
1. macOS
2. Python `3.12`
3. internet access for the initial dependency and browser download
That starts the repo-local Jupyter server as a detached background service, prints the exact URL, cleans up stale runtime files when needed, and opens it in the default browser.
If you run the launcher from an automation shell that reaps background child processes when the shell exits, use foreground mode instead:
In restricted automation sandboxes, the script may report that the live process probe is unavailable. In a normal terminal on your Mac, it will report the running server directly when the runtime file and process are both visible.
In restricted automation sandboxes, the browser and notebook execution suites may skip because localhost kernel and browser ports are blocked. In a normal terminal on your Mac, the same command should run those suites instead of skipping them.
At the current state of the repo, the full validation suite includes:
- curriculum/config/runtime tests
- notebook pedagogy tests
- notebook execution tests
- real JupyterLab browser workflow validation
- assessment and capstone validation tests
## What The Browser Workflow Validation Now Covers
The browser suite no longer stops at “page opened.”
It now validates learner-style flows such as:
- opening notebooks through JupyterLab
- running all notebook cells
- answering a multiple-choice quiz
- editing an `editable_circuit_lab` code cell and re-rendering it
- completing an evidence checklist
- filling a feedback iteration panel
- moving rubric sliders and observing the grading summary update