2026-08-31 (script canonicalization) - one bin/obscene verb per hardware task; report folded into the tool

Swept the hardware round-trip onto a single entry point. It had grown three overlapping deploy/log scripts (oops-rebuild-pkg.sh, oops-deploy.sh, oops-klog.sh) and three near-identical recovery scripts (oops-recover.sh, oops-bootlog.sh, oops-crashhunt.sh), each written mid-session and run by hand - the proliferation the scripts/README.md warning is about, happening again.

Every hardware task is now one ./bin/obscene verb (deploy, report, recover, hwsweep, minbuild, digcheck, prep); the surviving scripts/oops-*.sh are their implementation and are not run directly. bin/obscene help now computes its own range (like bin/oops) so a new verb cannot silently truncate the help, which is how it had lost the hardware verbs once.

report is folded into obscene-tool as a subcommand (Command::Report / run_report), alongside pretty/verify/diff. It reads the console system log via pros_link::log::read, keeps only the OBS| records, writes them to reports/hardware/console-klog.txt, and prints the meta/build/tally/end lines. It connects out, so it runs from either side. oops-rebuild-pkg.sh phase 3 now captures that log concurrently across the launch instead of the old hw pull /data/obscene-report.txt - that pull chased a file sealed 0600 inside the title's sandbox (D233/D237), which is the whole reason the log channel exists.

Deleted oops-deploy.sh, oops-klog.sh, oops-bootlog.sh, oops-crashhunt.sh (the last two are subsumed by oops-recover.sh, which absorbed crashhunt's recursive crash-dump find). Docs brought current: D269, CLAUDE.md ("Which side runs what" now opens with the verb runbook), scripts/README.md, docs/TOOLING.md (a report row and a hardware-verb table), docs/WORKFLOW.md, docs/ARTIFACTS.md, docs/HARDWARE.md. The surprise: oops-deploy.sh already captured the report off klog (its launch block grepped ^OBS| from hw logs) - the readable path was in the tree the whole time, and oops-klog.sh reinvented it. Tool builds clean, clippy clean.