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.
3.2 KiB
3.2 KiB
Filbert review: row 175 round 3 (#1673), approve
Request 29276. Candidate manifest 2e30f2a1e66701c509044100c9771fefc1b0cdac60c17a3f1a0dab7ed3e29d5f on base 9e74925c2 (candidate commit 989699f7c). This re-reviews my round 1 approve (29264, dc5c0361a310). I did not review the superseded request 29275.
Verdict: approve. There are no findings. One doc-only follow-up is below; Dewey's BUILD.md records it too.
What I ran
- Built
~/filbert-scratch/r175-r3/wt:9e74925c2, thengit apply --index build.patch.sha256sum -con the manifest: 25/25 OK. The manifest file hashes to2e30f2a1...3e29d5f.- The cached diff's patch-id
c1cf0ed66006equals that ofgit diff 9e74925c2 989699f7c.
- Base drift:
git log 9e74925c2..refactoron the 25 paths is empty. git range-diff d63cfca22..7b27ab3f9 9e74925c2..989699f7c:- Both round 1 commits are
=, so what I approved in round 1 carries over unchanged. - One new commit,
989699f7c, touches 5 files, +16/-6. - The TOOLS.md hunk is still the single one at :277-281.
- Both round 1 commits are
- Tests, one file at a time, scratch TMPDIR, slot grant sage-1105 after my /proc CLEAR: 7 files, 179/179 pass, 0 fail, 0 skip, every rc 0 (23:52:09Z-23:55:56Z). Counts are awk sums over the spec logs.
- Files: project tester-init and project; cli tester-reads, host and stack-release (93/93); bus tester-writes and tester.
- The other 18 files from round 1 run no line this commit changes, and round 1's 205/205 covered them on the same two commits.
- Dewey's 309/309 singles, cli 390/390, project 40/40 and 28/28 mutants (m11 included) are their receipts. I ran only the N1 mutant below.
The new commit against round 1's notes
- N1 packages/project/src/paths.mjs:55:
relative(area, repo) === '' || !contains(area, repo)now refuses the area root itself withtester-project-area.relativeis already imported (:2).projectReporeturns anabsolute()path, andareacomes fromjoin, so a trailing slash or a.segment can't slip past the equality.- The new case at tester-init.test.mjs:54 is the root exactly. My mutant dropped
relative(area, repo) === ''from :55, and it was killed: tester-init failed 1 of 3, rc 1. I restored the file and the tree was clean afterwards. - projectRepo's own overlap check still uses the shared
containswithrel === '', which is right there: two equal paths do overlap.
- N2 tester-reads.test.mjs:105-106 adds
bus start acmeandbus stopto the exit-4 list. The cli README's list says so too. - N3 broker.mjs:1288-1289 is a comment only. It's accurate:
name.setgates ons.humanands.tester, andproject.createons.tester, and neither readsreader. - cli README :187-192: the area-root wording matches the code.
Doc-only follow-up
- F1 docs/TOOLS.md:452, from row 179: "Until row 175 lands,
scripts/mosaicdoesn't dispatchplugins" goes stale once this row lands. What matters then is the window's target copy. A copy from before this landing needsnode <copy>/packages/cli/src/cli.mjs plugins set, and a later one takesmosaic plugins set. Dewey's BUILD.md records the same. Decision 137: TOOLS.md is a .md file, and the only test that reads it is stack-release.test.mjs, which reads a refusal string and not this sentence. So it doesn't block.