Source-audit reproduction
The native diagnostic helper runs compiler-version, default-target, LLVM-version, and debugger-version probes but discards every return value. It initializes failed = False afterward. As a result, its final result can claim success despite failed compiler/toolchain probes.
I exercised the actual main() control flow in an isolated temporary directory with an ARM64 PE header and injected probe results. Returning 7 for all four version/target probes and 0 for the check/build probes yields overall exit 0. No repository source was modified for the reproduction.
The actual PR #574 native job had successful version probes and failed compilation; this additional bug was found by auditing that diagnostic path, not claimed as its observed failure cause.
Acceptance
Keep this scoped to diagnostic status handling. The compiler access violation remains #493; existing PowerShell smoke exit handling is tracked in #505.
Source-audit reproduction
The native diagnostic helper runs compiler-version, default-target, LLVM-version, and debugger-version probes but discards every return value. It initializes
failed = Falseafterward. As a result, its final result can claim success despite failed compiler/toolchain probes.I exercised the actual
main()control flow in an isolated temporary directory with an ARM64 PE header and injected probe results. Returning 7 for all four version/target probes and 0 for the check/build probes yields overall exit 0. No repository source was modified for the reproduction.The actual PR #574 native job had successful version probes and failed compilation; this additional bug was found by auditing that diagnostic path, not claimed as its observed failure cause.
Acceptance
Keep this scoped to diagnostic status handling. The compiler access violation remains #493; existing PowerShell smoke exit handling is tracked in #505.