Run from the lesson directory unless stated otherwise. All text logs use UTF-8.

python test_stages.py
KNIGHT_ORIGINAL_SOURCE=<canonical 032 directory> python test_stages.py
python qa/simulate_cp932.py
python qa/perception_exercise.py
python qa/check_original.py --source <canonical 032 directory> --archive <pyxel100_001_100_source_ja.zip>
python qa/render_checks.py --python <Pyxel 2.9.9 venv>/bin/python --output qa/renders
python qa/verify_render_states.py
python qa/verify_freeze.py

The actual executable, stage file paths, output paths, duration, stdout/stderr and
exit status for all 21 native Pyxel processes are in ../renders/render_commands.json.
The venv path must not be resolved through symlinks to the base Python executable.
The CP932 simulation validates a CP932 byte sentinel, not just console encoding.
