test-environment.yml and test-guide.yml become test-workspace.yml and test-instructions.yml. Orchestrator job ids, the distros-SPOT matrix lint, the act example, the diagnostics slug and the rescue artefact names follow. Replace the roles_only input with per-job workspace/instructions tri-state inputs (auto|true|false). 'auto' derives the former roles_only skip straight from whitelist: both jobs run on a global scope (whitelist empty or __ALL__) and are skipped on a role-scoped run, which keeps the PR behaviour identical because the diff resolver never emits an empty whitelist. entry-manual exposes both as choice dropdowns defaulting to false, so a manual run opts in explicitly. The now redundant roles_only output is dropped from pr_affected_roles.sh and subset_roles.py. Branch-protection required-status-check names change along with the job renames. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Workflow Input Resolution 🔎
Shell helpers that derive structured inputs and outputs for GitHub Actions jobs from repository state.
Scope 📋
This directory contains pure resolvers that read repository state (git history, role metadata, version tags, input environment variables) and emit resolved values either via $GITHUB_OUTPUT or stdout. Resolvers MUST be idempotent and MUST NOT mutate repository or registry state beyond writing to $GITHUB_OUTPUT. The covered concerns are distro selection for push CI, diff-driven app whitelist resolution, the 🧩 Subset label dispatch (pr_affected_roles.sh, which picks between the PR-body subset and the diff resolver), release-tag parsing, app discovery for the deploy matrix, and change detection that gates the update pipeline.
For the workflow catalog that consumes these outputs see workflows.md. For the diff-driven whitelist contract see the "Diff-driven app selection" section in pipeline.md.