def inputs [repo: string, honey: string, diagnostic: string, package: string] {
    let wrapper = ($repo | path dirname)
    let roots = [
        {name: nox, root: $repo, scopes: []}
        {name: honeycrisp, root: $honey, scopes: [Cargo.toml Cargo.lock acpu unimem]}
        {name: hemera, root: ($wrapper | path join hemera | path expand), scopes: []}
        {name: strata, root: ($wrapper | path join strata | path expand), scopes: []}
        {name: lens, root: ($wrapper | path join lens | path expand), scopes: []}
    ]
    let repositories = ($roots | each {|r|
        let files = (^git -C $r.root ls-files ...$r.scopes | lines | where {|p|
            (not ($p | str starts-with audit/) and not ($p | str starts-with .claude/) and
            (($p | str ends-with '.rs') or ($p | path basename) in [Cargo.toml Cargo.lock rust-toolchain.toml]))
        } | sort | each {|p| {path: $p, sha256: (open --raw ($r.root | path join $p) | hash sha256)}})
        {name: $r.name, root: $r.root, head: (^git -C $r.root rev-parse HEAD | str trim), files: $files}
    })
    let base = {repositories: $repositories, diagnostic: ([
        ($diagnostic | path join Cargo.toml)
        ($diagnostic | path join Cargo.lock)
        ($repo | path join audit/2026-10-16-honeycrisp-backend-design/probe.rs)
    ] | each {|p| {path: $p, sha256: (open --raw $p | hash sha256)}})}
    if $package == '' { $base } else {
        $base | insert package (^rg --files $package | lines | where {|p|
            ($p | str ends-with '.rs') or ($p | path basename) in [Cargo.toml Cargo.lock]
        } | sort | each {|p| {path: $p, sha256: (open --raw $p | hash sha256)}})
    }
}

def main [repo: string, honey: string, diagnostic: string, name: string, cwd: string, argv_json: string,
    --manifest: string = 'sources.json', --package: string = ''] {
    let root = ($repo | path expand)
    let honey = ($honey | path expand)
    let diagnostic = ($diagnostic | path expand)
    let out = ($root | path join audit/2026-10-16-honeycrisp-backend-design)
    let before = (inputs $root $honey $diagnostic $package)
    let hash = ($before | to json --raw | hash sha256)
    let path = ($out | path join $manifest)
    if ($path | path exists) {
        if (open $path).source_sha256 != $hash { error make {msg: 'diagnostic input epoch changed'} }
    } else { {source_sha256: $hash, inputs: $before} | to json | save $path }
    let argv = ($argv_json | from json)
    let started = (date now | format date '%+')
    cd $cwd
    let r = (do { ^($argv | first) ...($argv | skip 1) } | complete)
    if $before != (inputs $root $honey $diagnostic $package) { error make {msg: 'source changed during probe'} }
    $r.stdout | save ($out | path join $'($name).stdout')
    $r.stderr | save ($out | path join $'($name).stderr')
    {command: $argv, cwd: ($cwd | path expand), source_sha256: $hash, source_before_after: equal,
        started: $started, finished: (date now | format date '%+'), exit_code: $r.exit_code,
        rustc: (^rustc --version | str trim), cargo: (^cargo --version | str trim),
        rustc_path: $env.RUSTC, rustdoc_path: $env.RUSTDOC, target: $env.CARGO_TARGET_DIR,
        rustflags: $env.RUSTFLAGS, rustdocflags: $env.RUSTDOCFLAGS, jobs: $env.CARGO_BUILD_JOBS,
        stdout_sha256: ($r.stdout | hash sha256), stderr_sha256: ($r.stderr | hash sha256)
    } | to json | save ($out | path join $'($name).json')
    print {name: $name, exit_code: $r.exit_code}
    if $r.exit_code != 0 { exit $r.exit_code }
}

Homonyms

soft3/nox/audit/2026-10-16-release-hygiene/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/hygiene-final/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/build-diagnostic/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/delivery-v3/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/delivery-final/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/hygiene-candidate2/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/portability/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/hygiene/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/admission/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/delivery-v4/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/delivery-v2/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/numeric-implementation/first/check.nu
cyb/honeycrisp/audit/2026-10-16-acpu-delivery/numeric-implementation/final/check.nu

Graph