Ensure output directories exist so simulation doesn't fail from fresh checkout