gen-cache-attic 0.1.3

gen — typed cache client (CacheClient trait + AtticClient HEAD-probe impl + NoCacheClient default). Engines consult the trait before triggering builds; substituter hits short-circuit the rebuild. The trait is the swap-in seam for any future binary cache (cachix, S3, R2). Today attic is offline → NoCacheClient is the default; AtticClient activates when the substituter is reachable.