Public/New-KadenBetaInvitation.ps1

function New-KadenBetaInvitation {
    <#
    .SYNOPSIS
        Generate a six-word beta invitation acknowledgement phrase.
    .DESCRIPTION
        Produces five curated words followed by literal Beta. This is a shareable
        feedback-cohort signal only - not authentication, authorization, or a technical restriction.
    #>

    [CmdletBinding(SupportsShouldProcess = $true)]
    param()

    if (-not $PSCmdlet.ShouldProcess('beta invitation', 'New-KadenBetaInvitation')) {
        return
    }

    $words = @(Get-KadenInvitationWordList)
    $rng = [System.Random]::new()
    $picked = [System.Collections.Generic.List[string]]::new()
    while ($picked.Count -lt 5) {
        $candidate = $words[$rng.Next(0, $words.Count)]
        if (-not $picked.Contains($candidate)) {
            $picked.Add($candidate)
        }
    }
    return (($picked -join ' ') + ' Beta')
}