A shared path_roots helper now implements the lexical-then-realpath check
that LoRA loading already used. LoRA resolution rejects files whose link
leaves the configured LoRA folders; previews and sidecars are read only
from inside those folders; model hashes for Civitai metadata require the
file inside the configured folders of the model's category and skip
hashing when no folder registry is known; the LUT install directory must
resolve inside models/. Format rules stay per consumer.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>