ac46660d2e
Phase 1 — Hash-based cache invalidation: - DepHashes struct: BLAKE3 hash of each build dep stored in dep_hashes.toml - collect_current_dep_hashes(): reads blake3 from dep .toml metadata - dep_hashes_changed(): compares stored vs current hashes - Replaces mtime comparison as primary cache invalidation check - Mtime fallback preserved for backward compatibility (no dep_hashes.toml) - --force-rebuild CLI flag bypasses cache entirely Phase 2 — Binary store cache lookup: - repo_builder publishes dep_hashes.toml alongside .pkgar/.toml in repo/ - When target/ is missing but repo/ has the package, restores stage artifacts by extracting pkgar, copying toml + dep_hashes.toml - Auto-generates auto_deps.toml from repo depends field - Only applies to non-remote, non-force-rebuild builds See local/docs/BUILD-CACHE-PLAN.md for full architecture.