From 113cada08cde081ae7b54f97657514a6e3c36054 Mon Sep 17 00:00:00 2001 From: Krzysztof kuhy Rudnicki Date: Mon, 17 Aug 2026 10:52:03 +0200 Subject: [PATCH] docs: split shell-split-verification.md 272 -> 78 + harness The file hit the same 250-line cap it exists to serve, for the second time -- it was itself split out of shell-split-recipes.md for that reason. Kept the split along the same why/how line: shell-split-verification.md (78) keeps the hazards that decide whether a green run means anything, and the new shell-split-harness.md (211) takes trace_shell_split.sh, --prefix, the regression fixtures and the two traps. The filename stays put because six files reference it, including meta/scripts/trace_shell_split.sh and refactor_claude_todo_resume.md. Added a pointer to the new file from shell-split-recipes.md so it is reachable. Docs only -- no behaviour to verify. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY --- docs/shell-split-harness.md | 211 +++++++++++++++++++++++++++++++ docs/shell-split-recipes.md | 3 +- docs/shell-split-verification.md | 206 +----------------------------- 3 files changed, 219 insertions(+), 201 deletions(-) create mode 100644 docs/shell-split-harness.md diff --git a/docs/shell-split-harness.md b/docs/shell-split-harness.md new file mode 100644 index 00000000..2af75a0a --- /dev/null +++ b/docs/shell-split-harness.md @@ -0,0 +1,211 @@ +# Shell split verification: the harness + +Split out of `docs/shell-split-verification.md` when that file hit the 250-line +cap. That file covers **what makes a green split wrong**; this one covers the +tooling that catches it — the trace harness, its `--prefix` mode, the +regression fixtures, and two traps that have each cost a revert. + +Read `docs/shell-split-verification.md` first: the hazards there decide whether +the harness can prove anything about your target at all. + +### `trace_shell_split.sh` — the run, made routine + +`meta/scripts/trace_shell_split.sh` (added 2026-08-16) does the stubbed run for +you. It shadows ~30 mutating binaries (`sudo`, `pacman`, `systemctl`, `adb`, +`nft`, `mount`, `mkinitcpio`, `reboot`, …) with `PATH` stubs that record each +call and exit 0, runs the script, and prints a diffable trace: exit status, +stubbed calls in order with arguments, stdout, stderr. + +```bash +# baseline, in a detached worktree at the pre-split commit +meta/scripts/trace_shell_split.sh