_TEMP_CACHE_DIR created at module load time in lora_utils.py with os.makedirs(..., exist_ok=True) so it's always present before any route tries to write to it.
_lora_weight_cache removed (cross node caching)
lora_utils.py — all shared logic with no ComfyUI server dependency. Caches, normalize_lora_name, _cached_file_hash, _sha256_full, read_safetensors_metadata, fetch_civitai_info, merge_lora_weights, and all the trigger analysis helpers. The requests import is at the top with its own clear warning if missing — no longer buried inside a try block with unrelated code.