✓ Phase 5 completed: SpaCommander.apply_group_settings — lock, three-stage commit, CPU reconciliation, audit

Baseline was green (1601 passed, ruff clean) before the phase. The Done criterion ran literally: the 11 contract skeletons (3 in `tests/test_apply_group_settings.py`, 8 in `tests/orchestration/test_orchestration_apply.py`) are implemented with no `pytest.fail` left, the full suite is 1612 passed, `ruff check src/ tests/` is clean; committed as c1ca90f touching only the phase's three files plus the plan and notes. Four decisions the plan left open (the `SingleGroupRequired` name, `last_apply` as the last attempt, the audit subject, `changed_settings` as a dict) are recorded in the plan and in `notes.md` under `## Phase 5`, with two judgment items flagged as `> Review:` for the quality check.
