- **Introduced `run_log` and `test_type` classes**
- Provide structured logging and standardized output formatting for build, run,
and correctness phases.
- Support both multiline and oneline colored summaries for better readability.
- **Added `color_string` and `indent_text` utilities**
- Improve terminal UX with color-coded and indented CLI messages.
- **Enhanced attribute manipulation utilities**
- Generalized weak/static attribute handling with `add_attributes` and
`rmv_attributes_file` functions.
- Unified behavior for `_weaken_file`, `_staticize_file`, and `_unstaticize_file`.
- Improved regex robustness and correctness messages for missing definitions.
- **Added `StudentVarType` click parameter type**
- Provides shell completion for student directories based on current path.
- **Introduced new build/run infrastructure**
- Added `build_root()`, `run_root()`, and `clean_root()` wrappers using `subprocess.run`.
- Introduced detailed error capture and standardized log generation.
- **New `compile` command**
- Builds and cleans all roots (or specific student via `-s`).
- Provides colorized per-root build summaries with timeout support and command overrides.
- **New `correctness` test command**
- Runs compiled student executables against reference solutions.