Files

1.9 KiB

Filbert review: row 110 round 2 (#1604): approve

Candidate manifest sha256 bdaf7f476abd0b2b5095ab2f7f43e38540e6ba48ee14a02a4f4995a1469b79df (19 files), as named in comment 28359. I rebuilt it in my own worktree at BASE badfa52b9 with build.patch from packet 9f1563ec1. All 19 hashes match, git diff --check is clean, no manifest path has drifted from badfa52b9 to HEAD, and the patch's added lines have no dashes, bidi or control characters.

What changed since round 1

Against the round 1 manifest, only the line for packages/bus/tests/tester.test.mjs differs (39c225c5 to 167aa918). r1-to-r2.diff is the whole change. The envelope test binds a pm launch with bindLaunch and adds { tester: p, cap: role } to the loop, which expects invalid-envelope and no authenticator call. This covers ruling 2's role connection beside the reader one, and closes my round 1 N1 as Sage's comment 28355 asked.

The narrowing mutant, rerun by me

I ran the same replacement as mutant-n1.py at server.mjs:50: a cap counts only when it is alone or is a reader cap. I ran only packages/bus/tests/tester.test.mjs.

  • Round 2 test with the mutant: 10/11, and the envelope test fails.
  • Round 1 test with the mutant (the diff reversed): 11/11, so the mutant survives.
  • Round 2 test with no mutant: 11/11.

This matches the packet's full-suite logs: 147 pass with the round 1 test (SURVIVED), and 146 pass with 1 fail with the round 2 test (KILLED). After each run I restored both files and rechecked all 19 hashes.

My round 1 findings on the other 18 files still hold, because their hashes are unchanged.

What I ran (single file, no slot)

bus/tests/tester.test.mjs, three ways as above. I didn't rerun the full gate. For that, and for the bwrap tester case with 0 skipped, I relied on the packet. The worktree is removed and no process is left in it.

Verdict: approve.