You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(doctor): the device toolkit report belongs to the package that owns the tool
`mcpp self doctor` grew a CUDA section: it located a toolkit payload, read
NVIDIA's `crt/host_config.h` for the host-compiler bound, and parsed
`nvcc --dryrun` to name a back-end stage the tool could not reach. Every one of
those readings was correct, and none of them belonged to the engine.
The repository already states the rule as an invariant. `test_runtime_contract`
refuses a vendor name beside a probe launch in `src/`, and the reason is that
an engine which learns to run one vendor's tool learns to run four: the second
backend arrives as a second section, the third as a third, and the engine
acquires a table of tools it must keep current with releases it does not
control.
The same answers are now produced where the tool is known — the rule package
the project imports — and reach mcpp as declarations through the build
program's channel, which the engine compares without knowing what any of the
names mean. Nothing is lost: the CUDA example reports the driver relation, the
host-compiler bound and the unreachable stage before its first compile, and the
version floor refuses a build the machine cannot run.
`test_core_vendor_probes` states the property the removal establishes, over
comment-stripped sources so that recording a vendor's name in a comment stays
possible. It carries its own denominator: an enumeration that found fewer than
a hundred files is a broken scan rather than a clean result.
e2e 602 is removed with the section it tested. Its subject was the doctor
report, not a build, and the same preference — payload before host — is what
the example's rule package now exercises end to end.
0 commit comments