fix: Avoid UTF-8 panics at boundaries (#12823)
## Why
Rust will panic when `std::env::args()` or eager UTF-8 path conversion
sees non-UTF-8 OS data. This hardens the argv and daemon filesystem
boundaries so those cases return normal errors or keep OS-native paths
instead of crashing.