Files
kevinveenbirkenbachandClaude Opus 5.5 6e776a5780 refactor(python): clear the open CodeQL code-quality alerts
- Declare `__all__` in every package `__init__.py` whose `PROJECT_ROOT`
  is imported by its modules (163 packages), so the constant counts as
  exported; list every public name where the package defines more.
- Empty the 15 package `__init__.py` files whose `PROJECT_ROOT` no module
  imports.
- Declare the public API of `utils.github.variant.axes` in `__all__`,
  re-exports included, instead of silencing them with `noqa: F401`; the
  list matches the one `feature/store-i18n` already carries.
- Use `import unittest.mock as mock` in `test_applications.py`, as the
  rest of the suite does.
- Spell `_NON_PRINTABLE` in `utils/yaml_bootstrap.py` as the equivalent
  BMP-only positive class; it matches exactly the same 2111 code points
  as the old negated class across U+0000..U+10FFFF.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-20 21:40:58 +02:00
..
…

Role Validation Helpers ✅

Validators that gate role inputs and outputs against project rules.

Scope 📋

Modules in utils/roles/validation/ MUST limit themselves to checking that role artefacts and their derived names obey the constraints documented in docs/contributing/: legal application identifiers, deployment-target invokability, container resource shape.

Validators MUST raise typed exceptions (or return the offending value with a clear message) so callers can surface the failure at the right layer (CLI exit code, lint test failure, runtime assertion).

Validators MUST stay independent of Ansible plugin loader behavior at import time so the same code runs from filter plugins, lookup plugins, the CLI, and tests.

Modules 📦

Module Validates
deploy_id.py Application id strings against the canonical <bucket>-<entity> shape and the active deploy-id grammar.
invokable.py Whether an application can legitimately be invoked under a given deployment type (e.g. server, workstation, universal).
resources.py Container resource declarations (cpus, mem_reservation, mem_limit, pids_limit) for shape and unit consistency.

Example Imports ✍️

from utils.roles.validation.deploy_id import validate_deploy_id
from utils.roles.validation.invokable import is_invokable_for
from utils.roles.validation.resources import validate_resource_block