Files

4.6 KiB

Row 70 round 1 review (Filbert): changes

Candidate: manifest sha256 1126314bd522de838aad03689bed41f6b12a33c2d7f30b2eff1b38653f559ae0 (4 paths), base 48b893871, packet agents/sage/work/queue-70/ in 5dc0c7de7.

Rebuild: a fresh worktree at 5dc0c7de7 (current refactor) with build.patch applied. Every manifest hash matched, git diff --check was clean and bash -n scripts/mosaic passes. The added lines have no dash, curly-quote or control characters. The packet manifest checks. No commit from 48b893871 to 5dc0c7de7 touches a manifest path. I checked the brief at d56345b76f, which includes both 2026-10-15 updates.

The test narrowing: accepted, and better than changing the fixture

  • The fixture is byte-identical to git show 6ca116b7b^:scripts/mosaic, the script before A2. It is also the "before" side of the first dispatch test. Rewriting its header would make it a copy of no real script, so I'd rather keep it and narrow the check.
  • A line starting with # is a bash comment, so dropping those lines from the comparison can't hide a change in what the script runs.
  • The filter is narrow. The shebang, a bare #, a # with no space and indented comments all stay in. The fixture's four kept lines are the shebang, set -euo pipefail, REPO= and the seat exec.
  • Filtering now changes nothing, because no kept fixture line starts with # and so none could have matched a dropped line.
  • My mutants on the candidate's scripts/mosaic: dropping REPO=, set -euo pipefail, the shebang or the seat exec each fail "the pre-A2 fixture is the script A2 changed" and name the missing line. Commenting out the set line as # set -euo pipefail fails as well. Dropping one header comment line passes, which is the intended change. I restored the file and rechecked the manifest afterwards.

Non-blocking: the test comment says "Comment lines are left out", but only lines starting with # are. "Lines starting with # " would match the code.

F1: the scripts/mosaic header doesn't name mosaic-old

The brief's "What ships" says that each of the three places says: "On Jason's host the estate CLI is mosaic-old." The seat README says it, but the scripts/mosaic header doesn't. Every other point in that bullet and the next one is in the header.

This is not decision 137 doc-only. scripts/mosaic is not a .md file, and dispatch.test.mjs reads it. One sentence fixes it, for example: "On Jason's host the estate CLI it replaced is mosaic-old." After the narrowing, a header sentence doesn't affect the dispatch test.

Doc-only, follow-up

These are decision 137 doc-only. grep -rlF TOOLS.md packages/*/tests scripts/test-*.sh finds no file. For seat/README.md, the only hits are the pre-A2 fixture's own header and two seat tests that write their own README into a temporary repository.

  1. docs/TOOLS.md doesn't name mosaic-old, and it doesn't link the CLI README's "One pinned copy" section. The brief asks for both in each place. It links "Stack copies" and then sends the reader to packages/seat/README.md.
  2. packages/seat/README.md names scripts/stack-copy.sh wrapper but not TOOLS.md "Stack copies", which the brief puts in the same parenthesis.

What I checked and found correct

  • Scope. scripts/mosaic changes only in header comment lines 10-16; no code line moved. The TOOLS.md change is in the seat-launch paragraph's last sentences, and the seat README change is in the "Commands" paragraph.
  • Anchors. #stack-copies-scriptsstack-copysh matches TOOLS.md:276 "Stack copies (scripts/stack-copy.sh)". ../cli/README.md#one-pinned-copy-row-85-1579 matches packages/cli/README.md:466 "One pinned copy (row 85, #1579)".
  • Facts.
    • The queue refusal "this queue code ... is not under the canonical root" is checkCode at packages/queue/src/store.mjs:85.
    • wrapper() in scripts/stack-copy.sh rewrites the file to exec <copy>/scripts/mosaic and keeps the marker and the mosaic-old lease line.
    • The exit 3 claim matches packages/cli/src/transport.mjs:37 and :41 (human-required and tester-required map to 3). cli.mjs:399 prints the "run mosaic on PATH" hint for both codes.

What I ran and what I took from receipts

I ran, as single files with TMPDIR set and Docker disabled:

Test file Result
queue dispatch 4/4

I also ran the six mutant runs above.

From Sage's receipts, not rerun by me:

  • the second gate in gate-run.log: 24 suites, 0 failed, with queue at 156/0;
  • the first gate's 155/1 stop at script-queue, in gate-r1-run.log;
  • Sage's three mutants in BUILD.md, which my own runs repeat.

I took no slot.