Public/Get-KritOpenApiBanner.ps1

function Get-KritOpenApiBanner {
<#
.SYNOPSIS
    Resolve the canonical Kritical brand banner string. 3-tier fallback per
    CLAUDE.md HARD RULE 13.

.DESCRIPTION
    1. OneDrive Kritical-Branding/public/KriticalLogo.txt (preferred)
    2. OneDrive Github-SecretsOutsideOfGitRepos/KriticalLogo.txt (legacy)
    3. Bundled Assets/kritical-logo.txt (works on clean install w/o OneDrive)

.PARAMETER Title
    Optional script/module name to stamp under the banner.
#>

    [CmdletBinding()]
    param([string]$Title)

    $candidates = @(
        'C:\Users\joshl\OneDrive - Kritical Pty Ltd\Kritical-Branding\public\KriticalLogo.txt'
        'C:\Users\joshl\OneDrive - Kritical Pty Ltd\Github-SecretsOutsideOfGitRepos\KriticalLogo.txt'
    )
    $modRoot = Split-Path -Parent (Split-Path -Parent $PSCommandPath)
    $bundled = Join-Path $modRoot 'Assets/kritical-logo.txt'
    $candidates += $bundled

    $banner = $null
    foreach ($p in $candidates) {
        if (Test-Path -LiteralPath $p) {
            $banner = Get-Content -LiteralPath $p -Raw
            break
        }
    }
    if (-not $banner) {
        $banner = "Kritical Pty Ltd — Krit.OpenApi"
    }

    if ($Title) {
        $banner += "`n[$Title]`n"
    }
    $banner
}