Issue #4: Prepare cache directory in check callback