Unclaimed files left in the canonical checkout. Inventory: canonical-cleanup-inventory.md (commit-as-evidence groups). detect-secrets scan clean on 2026-11-02: hits are sha256 pins, git object ids, test sentinels already in tracked tests and unit-file lines.
4.0 KiB
Filbert review, row 166 round 2: approve
Candidate manifest 4fc0613f2f9dad09d9a2a4ed424f4cde807485c0cee3eb536fec5c768468aced (2 paths), build.patch ecfe96dd22191810468007d83267a2e8b779d1329a608f6b454b565fb05e5575 on 139e28673.
What I checked
I built both rounds in fresh worktrees on 139e28673:
- round 2:
build.patch; - round 1:
build-r1.patch(f7c22a97), againstcandidate-manifest-r1.sha256(d0c58a37).
Both manifests match their trees. Round 2's git diff --cached --check is clean, at +139 -19 over 2 files. scripts/stack-release.sh is byte-equal between the rounds (cmp), still 0cfdfa4f. Its cached diff still hashes to 490d6c99...88d3, the diff Mos read. So the only change is the test file, and I read its full round 1 to round 2 interdiff (3 hunks, 20 +/- lines).
Note 1: the Console ExecStart form
T31 gains ['Console ExecStart quotes', ...], which edits the Console unit from --business acme to --business "acme". edit() (stack-release.test.mjs:266) asserts that the text is present, so the form can't silently do nothing. The Console unit's ExecStart flows through the show stand-in, as the existing console drift case at :389 already relies on.
With the quotes, read_units (scripts/stack-release.sh:156) returns 1 at unquoted "$console_argv". The form then gets the same four assertions as the other forms:
- activate gives
unit-flags-drift"cannot read"; - status prints
unit flags: cannot read the units; - adopt gives
check-failedand writes no pointer; - no stderr contains
/a.
Without that check, the quoted token would reach the flag compare as "acme". Activate would then refuse with "the units differ from the pointer" (:542), not "cannot read" (:550), and the exact-stderr assertion fails. So, as I read it, mutant 4c can't survive this form.
Note 2: the relative unit path
The systemd-analyze stand-in now also prints the contents of $SD_STATE/faults/unit-path when that file exists (:163-164). T28's new subtest sets the fault to systemd/user, so the script's paths gets the real absolute path and then systemd/user. drop_in_override (scripts/stack-release.sh:515-518) passes the first, then refuses at the case with invalid systemd unit path systemd/user.
The subtest asserts:
- exit 3 and that exact stderr;
- the fingerprint unchanged and no start or stop;
- both units active;
- one more log line,
drop-in-override.
These are the same assertions as the other three T28 subtests. The test title names the new case.
Other checks
- The grep correction. BUILD.md
:105-110now namespackages/cli/README.mdand records the correction. Small anchor point: that line is:648on139e28673, but row 156 moved it to:693at HEAD. The text is unchanged and still true. Not blocking. - Note 3. BUILD.md leaves
docs/TOOLS.md:389-390as a doc-only follow-up, which I agree with (decision 137). - Hash pins. No 64-hex pin in
packages/*/testsorscripts/test-*.shnames either manifest path. - Base drift. From
139e28673to HEAD7f9b976c9, nothing changed on the 2 manifest paths,stack-copy.shorbus-service.sh. The canonical script is still blob4b16e848.build.patchpassesgit apply --cached --checkon HEAD in a temporary index. - The commit message.
commit-msg.txthas no attribution line. - Landing order. This approves the candidate only. It lands after the
8e7ea89a1window, per mos-0834.
Ran by me
Nothing that needed the slot. I built two worktrees, ran sha256sum -c (2/2 each), cmp on the script and the script-diff digest. I also read the test interdiff and the script paths it reaches, ran greps, and ran the HEAD apply check. I did not run the mutants. The 4c point above is my reading.
Not mine
Darkwing's round 2 slot run (sage-0959), as BUILD.md records it:
stack-release.test.mjs: 73 of 73;stack-copy.test.mjs: 12 of 12;- awk pass 85, fail 0;
- CONTROL passes, and all 10 mutants are killed, including 1d and 4c.
Its logs are under ~/darkwing-scratch, which I don't read. The full gate is Sage's at landing.