Twinned from https://github.com/cfsh/ninefold/issues/894 by tools/beads/import_github.py's reconcile pass.
Suggestions from ninefold-reviewer's review of #892. Unclaimed and unlabelled — nobody's work until triage says so.
1. notes/probes.md:16 still calls a bare run the whole sweep. The file's FIRST code block:
```bash ./run_probes.py # one Xvfb for the whole sweep, not 34 ```
The Xvfb half is still true; "the whole sweep" is not, since T3b. Cheapest of these — fold it into #892 if that PR is still open, and drop this item.
2. Five call sites compose the same selection plumbing, and two of them now also share an untracked-union policy. tools/pr/affected_probes.py, merge_pr._select_affected, run_probes.affected and devcli._affected_probe_notice all do load_probes -> changed_paths -> select; the last two additionally union in untracked_paths(git) (#892 F4), and they have to stay in step BY HAND — dev.py check's count and the bare ./run_probes.py set are the same promise made in two files, and a fix to one is silently a lie in the other. A probe_select.for_worktree(root, base) -> Selection | None would hold the plumbing and the untracked policy in one place and leave the fail policy with each caller (B9's rule of 3 was already met before F4 added a second shared decision). Flagged during #892's first review round and explicitly deferred there as out of scope.
3. nflib.godot_build.untracked_paths has no direct test. AffectedTest stubs it; CheckVerbTest.test_an_UNTRACKED_file_still_gets_the_notice does drive the real argv through FakeRunner, so the ls-files --others --exclude-standard -z shape is covered. What is not: the not result.ok -> [] branch, which is the whole content of the docstring's "supplementary, never load-bearing on its own" promise — the one that says the fail-closed guarantee rests entirely on changed_paths's None. One case in tools/tests/test_nflib_godot_build.py.
4. Nothing spans the real re-exec seam. test_the_re_exec_ROUND_TRIP_still_forces_the_import mocks ensure_display, so xvfb_relaunch's argv construction is covered on one side and the re-parse on the other with no test across the join. xvfb_relaunch is pure and takes args directly, so asserting that ["--force-import", "alpha"] survives to the tail of its returned argv closes it in two lines.
5. RULE_UNKNOWN_DIFF is defined twice — affected_probes.RULE_UNKNOWN_DIFF and run_probes.RULE_UNKNOWN_DIFF, same string, same meaning, with a comment in each pointing at the other. Folds into item 2's extraction rather than being worth a move on its own.
Refs #886.
None.
No comments.