Surfaced by the Windows e2e arm (#82). Not a #196 regression — #196 (cache store) works here.
On the warm build the cc compiler-probe (cc --version / cc -###) re-runs instead of reading the memoized record, so probe_runs = 1 on warm. c-hello/c-depinfo assert max_probe_runs = 0 (probe memoized from cold) and fail. From the Windows results.json:
{"name": "max_probe_runs", "expected": "<= 0", "actual": "1", "passed": false}
Everything else on that phase passes — the compile is a local_hit (compiler_runs: 0), diff_match[build/foo.o] is byte-identical, verify ok. Only the probe memo isn't hitting.
Likely the probe record store/load in src/probe/cache.rs (NamedTempFile::new_in + persist, or the record lookup path) doesn't work on Windows. kache-core.
Surfaced by the Windows e2e arm (#82). Not a #196 regression — #196 (cache store) works here.
On the warm build the cc compiler-probe (
cc --version/cc -###) re-runs instead of reading the memoized record, soprobe_runs = 1on warm.c-hello/c-depinfoassertmax_probe_runs = 0(probe memoized from cold) and fail. From the Windowsresults.json:Everything else on that phase passes — the compile is a
local_hit(compiler_runs: 0),diff_match[build/foo.o]is byte-identical, verify ok. Only the probe memo isn't hitting.Likely the probe record store/load in
src/probe/cache.rs(NamedTempFile::new_in+persist, or the record lookup path) doesn't work on Windows. kache-core.