Root cause
PR #3568 added a python312 prerequisite task to deploy.yml gated only on 'ai-stack' in role_list. Both backend AND ai-stack create Python 3.12 venvs. Issue #3538 called for an OR condition covering both.
A standalone backend-only redeploy on a fresh host (no Python 3.12) fails with python3.12: command not found.
Fix
when: "'ai-stack' in role_list or 'backend' in role_list"
Reported by code review of PR #3568.