def verify-file [path: string, expected: string] {
    if (open --raw $path | hash sha256) != $expected {
        error make {msg: $'bytes changed: ($path)'}
    }
}
def main [repo: string] {
    cd ($repo | path expand)
    let audit = 'audit/2026-10-16-honeycrisp-backend-design'
    for name in [sources.json sources-package.json] {
        let manifest = (open ($audit | path join $name))
        if ($manifest.inputs | to json --raw | hash sha256) != $manifest.source_sha256 {
            error make {msg: 'manifest digest mismatch'}
        }
        for repo in $manifest.inputs.repositories {
            let matches = if $repo.name == nox {
                (^git -C $repo.root merge-base --is-ancestor $repo.head HEAD | complete).exit_code == 0
            } else { (^git -C $repo.root rev-parse HEAD | str trim) == $repo.head }
            if not $matches {
                error make {msg: $'revision changed: ($repo.name)'}
            }
            for file in $repo.files {
                verify-file ($repo.root | path join $file.path) $file.sha256
            }
        }
        for file in $manifest.inputs.diagnostic {
            verify-file $file.path $file.sha256
        }
        if 'package' in ($manifest.inputs | columns) {
            for file in $manifest.inputs.package {
                verify-file $file.path $file.sha256
            }
        }
    }
    for name in [registry-feature source-debug source-release acpu-package package-consumer] {
        let receipt = (open ($audit | path join $'($name).json'))
        let expected_code = if $name == registry-feature { 101 } else { 0 }
        let manifest_name = if $name == package-consumer { 'sources-package.json' } else { 'sources.json' }
        let manifest = (open ($audit | path join $manifest_name))
        if $receipt.exit_code != $expected_code or $receipt.source_before_after != equal or $receipt.source_sha256 != $manifest.source_sha256 {
            error make {msg: $'unexpected result or source identity: ($name)'}
        }
        for stream in [stdout stderr] {
            verify-file ($audit | path join $'($name).($stream)') ($receipt | get $'($stream)_sha256')
        }
    }
    print 'source identities and all five receipt streams verified'
}

Homonyms

warriors/erga/audit/2026-10-11-mine-owner/verify.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/verify.nu
soft3/radio/audit/2026-10-12-bao-proof-research/verify.nu
soft3/nox/audit/2026-10-17-published-api-baseline/verify.nu
soft3/nox/audit/2026-10-13-hemera-no-std/verify.nu
soft3/radio/audit/2026-10-12-bao-bounded-proof/verify.nu
soft3/nox/audit/2026-10-13-hemera-no-std-plan-v2/verify.nu
cyb/honeycrisp/audit/2026-10-17-gemv-tape-admission/verify.nu
cyb/honeycrisp/audit/2026-10-17-acpu-package-evidence/verify.nu
soft3/radio/audit/2026-10-11-bao-bounded-reducer/verify.nu
soft3/radio/audit/2026-10-13-audit-cargo-packaging/verify.nu
warriors/erga/audit/2026-10-10-blake-batch-owner/verify.nu
soft3/radio/audit/2026-10-11-empty-status/verify.nu
cyb/honeycrisp/audit/2026-10-17-acpu-release-proposal/verify.nu
soft3/nox/audit/2026-10-13-hemera-no-std-plan/verify.nu
warriors/erga/audit/2026-10-10-rtable-owner/verify.nu
soft3/radio/audit/2026-10-11-bao-bounded-traversal/verify.nu
cyb/honeycrisp/audit/2026-10-17-native-image-planes/verify.nu
soft3/radio/audit/2026-10-11-hemera-source-pin/verify.nu
soft3/radio/audit/2026-10-10-memstore-parent-pairs/verify.nu
soft3/nox/audit/2026-10-16-release-hygiene/verify.nu
soft3/nox/audit/2026-10-17-hemera-feature-performance/verify.nu
soft3/radio/audit/2026-10-13-audit-cargo-packaging/plan-input-v2/verify.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/numeric-reference/verify.nu
cyb/honeycrisp/audit/2026-10-13-unimem-core/plan-v1/verify.nu
soft3/radio/audit/2026-10-12-bao-bounded-proof/code-input/verify.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/numeric-implementation/verify.nu
soft3/radio/audit/2026-10-13-audit-cargo-packaging/code-input/verify.nu
soft3/nox/audit/2026-10-17-published-api-baseline/retention-1/verify.nu
soft3/radio/audit/2026-10-11-bao-bounded-traversal/code/verify.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/numeric-prototype/verify.nu
soft3/radio/audit/2026-10-11-bao-bounded-traversal/plan/verify.nu
soft3/radio/audit/2026-10-13-audit-cargo-packaging/plan-input/verify.nu
soft3/radio/audit/2026-10-11-hemera-source-pin/hosted/verify.nu
cyb/honeycrisp/audit/2026-10-17-acpu-release-proposal/review-epoch-1/verify.nu
soft3/radio/audit/2026-10-13-audit-cargo-packaging/original/2026-10-12-bao-bounded-proof/verify.nu
soft3/radio/audit/2026-10-13-audit-cargo-packaging/original/2026-10-12-bao-proof-research/verify.nu
cyb/honeycrisp/audit/2026-10-17-acpu-release-proposal/review-epoch-2/audit/2026-10-17-acpu-release-proposal/verify.nu
soft3/radio/audit/2026-10-13-audit-cargo-packaging/original/2026-10-12-bao-bounded-proof/code-input/verify.nu

Graph