`get` (fs::read → EISDIR) and `get_stream` (File::open succeeds on a Unix directory, then streams garbage that fails mid-read) both mishandled a key resolving to a directory. Mirror `size`'s existing guard: `get` maps IsADirectory to NotFound; `get_stream` checks metadata.is_file() after open. Test: get_on_directory_is_not_found. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>