3e32079b79
The staleness gap behind the qtshadertools failure: cookbook keys its build cache on the source.tar hash, but the actual build input for a vendored recipe is the git-committed source/ tree. A version bump that propagates into source/ without changing source.tar (Qt's source.tar was already 6.11.1 while source/ was a 6.11.0 muddle) leaves cookbook reusing a stale stage — the desktop then builds the old version. New loop fingerprints each vendored source/ by its git tree hash (+ dirty flag) and rm's target/ on change; first observation only seeds the fingerprint so it never forces a spurious full rebuild.