Private/New-KadenMigrationResult.ps1

function New-KadenMigrationResult {
    <#
    .SYNOPSIS
        Build one integration-migration outcome row.
    #>

    [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '', Justification = 'Factory returns a row object; no filesystem mutation.')]
    [CmdletBinding()]
    param(
        [Parameter(Mandatory = $true)][string]$OldPath,
        [Parameter(Mandatory = $true)][string]$NewPath,
        [Parameter(Mandatory = $true)][string]$Outcome,
        [Parameter(Mandatory = $true)][string]$NextAction
    )

    return [pscustomobject]@{
        OldPath    = $OldPath
        NewPath    = $NewPath
        Outcome    = $Outcome
        NextAction = $NextAction
    }
}