mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-09 20:26:33 +00:00
The variants → services match guard (`test_services_match.py`) used to have no exemption mechanism, forcing every variant service-key to also appear as a top-level entry in `meta/services.yml`. That contract is correct for application roles whose variants pin per-app service flags, but it forces noise on invokable infrastructure roles whose variants exist only to pin the round's companion topology — there the service-key is a resolver hook, not a consumer-side contract, and adding a stub in `meta/services.yml` just duplicates the variant declaration. Add a `# nocheck: variants-services-match` opt-out (same line or line above the key) so legitimate resolver-only matrix hooks can stay in variants.yml without a synthetic services.yml stub. Mirrors the `variants-static-override` parser pattern (text walk + per-leaf line indices + is_suppressed_at). Adopts the new exemption on `svc-bkp-container-2-local`: meta/services.yml drops the gitea / keycloak / postgres / mariadb / ldap stubs, meta/variants.yml carries the nocheck marker on each variant service-key entry. The resolver closure per round stays identical (16 / 3 / 2 roles). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Test guidance 🧪
This directory contains contributor guidance for automated tests. Its scope is how lint, unit, integration, regression, and Playwright coverage should be structured, selected, and validated.