pub fn validate_target(target: &Path) -> Result<(), Error>
Pre-write validation: fail fast (before reading any stdin) if the target is an existing directory. Per FR-014 + HINT-002, this MUST run before any expensive IO.