fn open_lock_file( paths: &DataPaths, provider_id: &str, pinned_version: &str, ) -> Result<Option<File>>
The shared dir’s lock file, opened (created if missing); None for a provider/pin with no shared dir.