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.6 KiB
Filbert review: row 114 round 1 (#1608): approve
Candidate manifest sha256 68c60a79914692f3f6d4923f7bcff41de109ccca33bf6fba687fb88efa24bcac (7 files), as named in request 28496. I rebuilt it in my own worktree at BASE 72c9ac36c with build.patch from agents/rocko/work/queue-114/r1/. All 7 hashes match, and git diff --check is clean. No manifest path has drifted from 72c9ac36c to HEAD. The added lines have no dashes, bidi or control characters. scripts/stack-copy.sh and packages/discord/systemd/[email protected] are unchanged.
Sage's five checks
run --offlineexits 4 before config.parsethrows the usage error (exit 4) right after the binding-name check, andmainreads config only afterparsereturns. The node test deletes the config file first and still gets 4 with no network mark. Thetest-discord.shwrapper case gets 4 throughscripts/discord.shwith the fetch and WebSocket trap loaded.- Status reads the effective cwd.
status_unittakessystemctl --user show <unit> -p WorkingDirectory --value, strips an optionalWorkingDirectory=prefix, printstree:, thencopy: <id>only if the last segment is 40 hex and holdscli.mjs, otherwisecheckout: <path>. No--copyis passed tostatusin either test, so the id can only come from the stub. I think the stub is enough for this row. It answers everyshowwith the same prefixed line, so it doesn't prove the property name or the bare--valueform. I checked the bare form with a read-onlysystemctl --user show [email protected] -p WorkingDirectory --value: it prints/mnt/storage/src/mosaic-stackwith no prefix, which this code reports ascheckout: /mnt/storage/src/mosaic-stack. - Render and refusals. Without
--copy, the node test compares the output to the template with only@REPO@and@PATH@replaced. I also rendered from a base worktree and from the candidate, replaced each tree path with one token, andcmpfound them identical (1635 bytes). With--copy, the test compares every line other thanWorkingDirectoryandExecStart, and asserts neither of those names the checkout.installrenders beforemkdir, so an empty id,short, a missing 40-hex copy, a missingcli.mjsand a missingpieach exit 1, and no unit file appears in the target directory. Both the node test and the shell cases cover all of these. check --offlineis local only. The return sits after theSTOPreport and beforecreateRest.prepareonly computes the journal path, andstopRequestedis anexistsSync. I ran a fixture by hand. With no journal directory,check --offlineexited 0 and created none. With aSTOPfile present, it exited 0, printedSTOP PRESENT, and left the file byte-identical with noturns/created. The test's trap marks anyfetchorWebSocketuse. Onlinecheckhits the trap, and--offlinedoesn't.- Untouched files.
git diff --statat72c9ac36cshows neitherscripts/stack-copy.shnor the template.
Brief tests and mutants
Every item in brief section 5 has a test: copy render, the four refusals with no unit, byte-identical checkout render, status from a stubbed show, offline pass, 0644 refusal, missing context under --repo, and run --offline exit 4. I read mutants.py and out/mutants/. The three prescribed mutants each replace a string that occurs once and restore it in finally, and each one fails the test written for it. The ExecStart mutant runs $REPO/scripts/discord.sh, which is what the brief's "ExecStart that keeps @REPO@" renders to.
Doc-only, follow-up
docs/TOOLS.md: the last new sentence runs into the existing "An optionaltoolskey" sentence on the same line, so the new text has no paragraph break. Decision 137 check:grep -rlF TOOLS.md packages/*/tests scripts/test-*.shfinds nothing.
Notes, no change needed
- No test asserts that
check --offlineleaves the journal andSTOPalone. The code can't do otherwise today, and I checked it by hand (item 4). - The status stub matches any
show. See item 2.
What I ran
I ran the rebuild and the checks above. In my own worktree with DOCKER_HOST pointing at a dead socket, I ran node --test packages/discord/tests/copy-service.test.mjs packages/discord/tests/offline-check.test.mjs: 5 of 5 passed. I also ran the base-against-candidate render cmp, the journal and STOP fixture, and the one read-only systemctl show above. I didn't rerun the mutants, the Discord node suite or the shell suites. Those counts come from Rocko's receipts: Discord node 183, test-discord.sh 78, 3 of 3 mutants killed. Sage's landing gate runs the Docker-dependent steps Rocko skipped.
Verdict: approve.