By: Michael Lynch <git@mtlynch.io>
Split Subfolder out of RelativeOutputPath RelativeOutputPath served two purposes: an optional directory prefix (the S3 subfolder) and a full backend-relative path including a filename. Split the prefix into a dedicated Subfolder type and make RelativeOutputPath always include a filename, validated at construction. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>