# Conservatively fingerprint every tracked owner/sibling file except audit/task records.
def inputs [repo: string] {
    [
        {name: honeycrisp, root: $repo}
        {name: strata, root: ($repo | path dirname | path join strata | path expand)}
    ] | each {|r|
        let files = (^git -C $r.root ls-files --cached --others --exclude-standard | lines | where {|p|
            not ($p | str starts-with audit/) and not ($p | str starts-with .claude/)
        } | sort | uniq | where {|p| ($r.root | path join $p | path exists)} | 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}
    }
}
def main [repo: string, name: string, argv_json: string, --extra-files: string = '[]'] {
    let root = ($repo | path expand)
    cd $root
    let out = 'audit/2026-10-16-acpu-delivery/numeric-implementation/final'
    let before = (inputs $root)
    let hash = ($before | to json --raw | hash sha256)
    let manifest = ($out | path join sources.json)
    if ($manifest | path exists) {
        if (open $manifest).source_sha256 != $hash { error make {msg: 'source epoch changed'} }
    } else { {source_sha256: $hash, inputs: $before} | to json | save $manifest }
    let argv = ($argv_json | from json)
    let extras = ($extra_files | from json | each {|p| {path: $p, sha256: (open --raw $p | hash sha256)}})
    let started = (date now | format date '%+')
    let r = (do { ^($argv | first) ...($argv | skip 1) } | complete)
    if $before != (inputs $root) { error make {msg: 'source changed during gate'} }
    for extra in $extras {
        if (open --raw $extra.path | hash sha256) != $extra.sha256 { error make {msg: 'diagnostic changed during gate'} }
    }
    $r.stdout | save ($out | path join $'($name).stdout')
    $r.stderr | save ($out | path join $'($name).stderr')
    {command: $argv, cwd: $root, 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),
        rustup_toolchain: $env.RUSTUP_TOOLCHAIN, clippy: (^cargo clippy --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, extra_inputs: $extras,
        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
soft3/nox/audit/2026-10-16-honeycrisp-backend-design/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

Graph