Repository navigation
Description
Feature Proposal
Problem
The current language/OS support matrix and LLVM-specific consumer assertions do not prove actual Microsoft/GCC/custom backend support or independence from preinstalled developer tools.
Proposed Scope
Part of #4809. Roadmap task 16/16.
Ownership: Existing C/C++ external consumers, .github/workflows/ci.yml and generated support-matrix evidence; integration-only closure owner.
Prerequisites: #4810, #4811, #4812, #4813, #4814, #4815, #4816, #4817, #4818, #4819, #4820, #4821, #4822, #4823, #4824.
Extend existing consumer/CI and generated support facts with compiler, driver, version and execution/target identity. Parameterize LLVM-only consumer assertions while retaining their baseline coverage. Qualify the required matrix from the parent tracker using the delivered leaves; do not duplicate their implementations.
Use genuinely clean developer environments or demonstrably deny access to preinstalled toolchains; removing PATH entries alone is not proof. Test compiler/version switching, unsupported selections, a renamed independent consumer, custom toolchains, relocated execution and network-denied rebuilding with legally prepared pinned cache inputs.
Collect real native Windows x64/ARM64 and Linux x64/ARM64 execution evidence. Preserve current LLVM support on its existing five-host matrix. Include native Rust/Python and permitted-runtime package cases. Missing runner, licensing, upstream or platform facts remain explicit blockers rather than skips counted as support.
Update user-facing help/configuration examples, CI instructions and generated support records. Do not add plan/design-history documents. Hosted execution, publication, signing and deployment still need separate authorization.
Acceptance criteria
- Each advertised compiler/host/target cell has commands, exact source SHA, versions/digests, job/artifact links and native execution outcomes.
- Fresh Windows builds use actual provisioned cl.exe with no VS/MSVC/SDK installation; fresh Linux GCC builds use no ambient compiler/sysroot.
- Selection/version changes, incompatible options and missing inputs produce correct actions, artifacts, reports and exits; no silent fallback or stale cache masking.
- Real native consumers, relocation, permitted-runtime package execution and network-denied repeat builds pass with their declared prerequisites.
- Support-matrix generation/drift checks and user docs match verified capabilities, including explicit unsupported analysis/coverage cells. All applicable leaf acceptance is verified before closure.
Alternatives Considered
A preconfigured hosted Windows runner, mocked compiler, selected platform label, cross-build or another revision's evidence is not sufficient clean/native qualification.
Compatibility Impact
Extend existing CI and consumer harnesses, preserving LLVM defaults and current supported hosts. This is the final acceptance owner, not a reason to block independent leaf implementation on the whole tracker.
Agent handoff and evidence
Read current AGENTS.md and inspect merged code before editing. Work in a focused worktree; keep shared MODULE/platform/CI wiring with the integration owner. Reuse existing libraries, upstream providers and tests. Run the repository's affected fix/test workflow, inspect JSON results, and attach exact base/final SHA, tool versions, execution/target identities and real commands/results. Keep warnings as errors and preserve user work.
Prerequisites identify delivered interfaces/primitives, not whole-tracker closure; agreed fixture/parser/scaffolding work may proceed independently. Record missing native runner, licensing or upstream evidence rather than claiming support. Filing is not authorization for license acceptance, privileged installation, hosted dispatch, signing, publication or deployment.
Research baseline: c6c0f67; verify current main before implementation.
Activity
26 remaining items
hermetic: c_fixture_msvc expects STL1003 for C++ headers in C (part of …
evidence: keep evidence.log and relocated.log out of the checkout (pa…
cc/context: qualify reads external compilers from the output base (pa…
cc/context: qualify runs compile actions locally so the probed compil…
docs: cite MSVC hermetic run 42356052966 (part of #4825)
TrapsterDK commentedon Nov 7, 2026
MSVC hermetic evidence on windows_x86_64: run 42356052966, SHA 3a9cb66 (PR #9017).
c_fixture_msvcandcpp_fixture_msvc:result=qualified,dirty=false,cache_missverdict ok, producermsvc 261.35728.qualify --compiler msvcpassed (qualify-msvc.json, cl 19.50.35728 for x64).Still open: windows_arm64 MSVC. The outer harness build under
--//cc/toolchains:compiler=msvcfails in theringbuild script becauseclangis not found (run 42351334834).🤖 Generated with Claude Code
https://claude.ai/code/session_01Xut2hzpb4qWNZKpDCrwUz7
evidence: keep logs out of the checkout; cite MSVC hermetic runs (par…
TrapsterDK commentedon Nov 7, 2026
Dispatched ci.yml on main at 6be89c9: https://github.com/devhusdk/rules_dx/actions/runs/42370685598. The
hermetic,hermetic-arm64andhermetic-windows(x86_64 and arm64) jobs give native GCC and MSVC evidence from one SHA. The ci.yml Windows job sets the msvc flag only for appcontainer_run, so the outer harness build no longer hits the arm64 ring/clang failure from run 42351334834. A docs PR citing these runs follows once they finish. Removed needs-host per the owner decision. #4817 and #4821 are closed.🤖 Generated with Claude Code
https://claude.ai/code/session_01Xut2hzpb4qWNZKpDCrwUz7
TrapsterDK commentedon Nov 7, 2026
CI run 42370685598 (6be89c9) failed on every job before reaching the qualifications:
quality_runner_lib_upstreamcould not readtiers/cmakelint/standard.cmakelintrc(missing compile_data). #9255 fixed that on main. Re-dispatched ci.yml on main e76d6f5: https://github.com/devhusdk/rules_dx/actions/runs/42372644803 . Evidence needed from it: hermetic (linux_x86_64), hermetic-arm64, hermetic-windows (windows_x86_64, windows_arm64) with c/cpp fixtures result=qualified, dirty=false.🤖 Generated with Claude Code
https://claude.ai/code/session_01Xut2hzpb4qWNZKpDCrwUz7
TrapsterDK commentedon Nov 7, 2026
Evidence for PR #9305 (ring gets the hermetic clang-cl on aarch64-pc-windows-msvc):
--//cc/toolchains:compiler=msvc, build//cli/cli:dx: passed. https://github.com/devhusdk/rules_dx/actions/runs/42375446435//cli/cli:dx_upstreamwith E0460 on pulldown_cmark. That is the main-branch problem fixed by rust: build pulldown-cmark without pipelining (closes #9243) #9299, which this branch predates. https://github.com/devhusdk/rules_dx/actions/runs/42375454647🤖 Generated with Claude Code
https://claude.ai/code/session_01Xut2hzpb4qWNZKpDCrwUz7
docs: cite windows_arm64 hermetic MSVC qualification (closes #4825)
TrapsterDK commentedon Nov 7, 2026
Evidence for #9307. ci.yml run 42372644803 (e76d6f5) qualified GCC on linux_x86_64 and linux_arm64, and MSVC on windows_x86_64. Run 42375312749 (2660a4b) qualified MSVC on windows_x86_64 and windows_arm64. Every artifact shows result=qualified and dirty=false. Producers are GCC 16.2.0 and msvc 261.35728. The Windows Verify step rejects the evidence because the host kernel is empty. That is tracked in #9314. Coverage and analysis leftovers are tracked in #6834 and #6241.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Xut2hzpb4qWNZKpDCrwUz7
hermetic: cite ci.yml compiler evidence; Windows verify reads the tes…