def main [audit: path = '.', --source: path] {
    let audit = ($audit | path expand)
    for row in (open --raw ($audit | path join SHA256SUMS) | lines | parse '{sha256}  {path}') {
        if (open --raw ($audit | path join $row.path) | hash sha256) != $row.sha256 {
            error make {msg: $"outer checksum differs: ($row.path)"}
        }
    }
    let archive = ($audit | path join evidence.tar.gz)
    let expected = 'b7df9f54716657fcfb82f57d05a87111ff1248df1e12fe30d82bf049eedfc072'
    if (open --raw $archive | hash sha256) != $expected { error make {msg: 'evidence archive differs'} }
    let made = (^mktemp -d /tmp/erga-mine-audit.XXXXXX | complete)
    if $made.exit_code != 0 { error make {msg: $made.stderr} }
    let temporary = ($made.stdout | str trim)
    let result = try {
        let extracted = (^tar -xzf $archive -C $temporary | complete)
        if $extracted.exit_code != 0 { error make {msg: $extracted.stderr} }
        for pair in [[capsule-inventory.json inventory.json] [source-freeze.json execution/current-source.json] [gates.json execution/gates.json]] {
            if (open --raw ($audit | path join $pair.0) | hash sha256) != (open --raw ($temporary | path join $pair.1) | hash sha256) {
                error make {msg: $"outer receipt differs: ($pair.0)"}
            }
        }
        let replay = (^nu ($temporary | path join verify.nu) $temporary | complete)
        if $replay.exit_code != 0 { error make {msg: $replay.stderr} }
        mut live_files = 0
        if $source != null {
            let checkout = ($source | path expand)
            let freeze = (open ($audit | path join source-freeze.json))
            for row in $freeze.files {
                if (open --raw ($checkout | path join $row.path) | hash sha256) != $row.sha256 {
                    error make {msg: $"live candidate differs: ($row.path)"}
                }
                $live_files += 1
            }
        }
        $replay.stdout | from json | insert archive_sha256 $expected | insert live_candidate_files $live_files
    } catch {|failure|
        rm -r $temporary
        error make {msg: $failure.msg}
    }
    rm -r $temporary
    $result | to json | print
}

Homonyms

soft3/radio/audit/2026-10-11-bao-bounded-traversal/verify.nu
soft3/radio/audit/2026-10-12-bao-proof-research/verify.nu
soft3/radio/audit/2026-10-13-audit-cargo-packaging/verify.nu
soft3/radio/audit/2026-10-10-memstore-parent-pairs/verify.nu
soft3/radio/audit/2026-10-11-bao-bounded-reducer/verify.nu
warriors/erga/audit/2026-10-10-blake-batch-owner/verify.nu
soft3/nox/audit/2026-10-13-hemera-no-std/verify.nu
soft3/nox/audit/2026-10-13-hemera-no-std-plan/verify.nu
soft3/radio/audit/2026-10-11-hemera-source-pin/verify.nu
soft3/radio/audit/2026-10-12-bao-bounded-proof/verify.nu
warriors/erga/audit/2026-10-10-rtable-owner/verify.nu
soft3/radio/audit/2026-10-11-empty-status/verify.nu
soft3/nox/audit/2026-10-13-hemera-no-std-plan-v2/verify.nu
soft3/radio/audit/2026-10-11-bao-bounded-traversal/plan/verify.nu
soft3/radio/audit/2026-10-13-audit-cargo-packaging/code-input/verify.nu
soft3/radio/audit/2026-10-12-bao-bounded-proof/code-input/verify.nu
soft3/radio/audit/2026-10-13-audit-cargo-packaging/plan-input-v2/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
soft3/radio/audit/2026-10-11-bao-bounded-traversal/code/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
soft3/radio/audit/2026-10-13-audit-cargo-packaging/original/2026-10-12-bao-bounded-proof/code-input/verify.nu

Graph