Summary
Formalize a specialized, opt-in self-hosted runner capability contract for host-native LabVIEW 32-bit / NI-path lanes.
Why
The repo already has a generic self-hosted Windows contract, but the LV32/NI surfaces are still implicit and path-based. That makes host-native 32-bit execution useful but not governable.
We need a first-class capability contract so jobs can explicitly require the specialized host surface without making it the default execution surface for the repository.
Current State
- generic self-hosted Windows jobs still route through labels like
[self-hosted, Windows, X64]
- host-native 32-bit / NI assumptions still live mostly in docs, path heuristics, and install expectations
- template distribution work will eventually need an optional downstream capability expectation for VI History, but compare should publish the authoritative runner contract first
Goal
Define a specialized, opt-in runner capability for LV32/NI-path work that:
- keeps hosted and generic self-hosted Windows as the default surfaces
- makes LV32/NI-path requirements explicit and machine-readable
- routes only the jobs that actually need the specialized host capability
- adds health validation for the specialized host surface before jobs trust it
Likely Scope
- document the specialized runner capability and labels
- add a runner-label contract validator surface
- add runner health validation for LV32/NI path availability
- update only the workflows that truly require the specialized capability
- keep the capability non-default and opt-in
Candidate Surfaces
docs/SELFHOSTED_CI_SETUP.md
docs/ENVIRONMENT.md
.github/actionlint.yaml
tools/Assert-RunnerLabelContract.ps1
- selected workflows for VI History / host-native NI paths
Acceptance
- the specialized LV32/NI runner capability is explicitly named and documented
- the contract is validated in-repo
- jobs that need it declare it explicitly
- generic hosted/self-hosted jobs remain on their current default surfaces
- no workflow silently depends on
Program Files (x86) heuristics alone for LV32/NI execution
Summary
Formalize a specialized, opt-in self-hosted runner capability contract for host-native LabVIEW 32-bit / NI-path lanes.
Why
The repo already has a generic self-hosted Windows contract, but the LV32/NI surfaces are still implicit and path-based. That makes host-native 32-bit execution useful but not governable.
We need a first-class capability contract so jobs can explicitly require the specialized host surface without making it the default execution surface for the repository.
Current State
[self-hosted, Windows, X64]Goal
Define a specialized, opt-in runner capability for LV32/NI-path work that:
Likely Scope
Candidate Surfaces
docs/SELFHOSTED_CI_SETUP.mddocs/ENVIRONMENT.md.github/actionlint.yamltools/Assert-RunnerLabelContract.ps1Acceptance
Program Files (x86)heuristics alone for LV32/NI execution