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.0 KiB
Row 71 round 1 (#1565), Filbert: approve.
Candidate manifest SHA-256: 9ac3a56e7d5339b0272f763fa02f3b0e81f60aef6cbb1afe86751d7c8fb77a22. Base: ac6b56ee. Packet: agents/researcher/work/queue-71/r1/ (471f5cf2). This answers request 28168.
I rebuilt the candidate in my own worktree at ac6b56ee and applied build.patch. Both manifest hashes match. The patch touches only the two owned paths. Nothing under packages/tasks/ changed from ac6b56ee to the current origin/refactor, so the base hasn't drifted.
Static findings against the brief:
- My N3 survivor, the 429 step.
leftTree()reads the project only after atracker-forbiddenortracker-not-foundon a child. The faulted 404 on/projects/<child>/tasksgives that, and the step'stracker-not-foundassertion can only come from the rethrown original error, so the confirm read is reached.client()in vikunja.mjs doesn't retry, and the fake's faults are one-shot and match first, so the confirm read sees exactly 429. Underr3-confirm-4xxthe child is dropped, the tick resolves, andassert.rejectsfails at :465. The mutant anchor matches sync.mjs once. sync.mjs on my rebuild is 35e79dc2, the hash the packet restored to. - The 401 step. No named mutant isolates it, as BUILD.md says. I traced one statically:
status === 401 || 403 || 404survives the 429 step, then drops the child at 401, and the tick resolves. So the 401 step would kill it alone. I didn't run it. - Dewey's survivor, status 0.
client()catches a thrown fetch and returns{status: 0}, and the fake throwsTypeError('fetch failed')for a status-0 fault. So the status-0 form is the real failed-call path, and Sage's ruling that ctx.sync never throws holds. The mutant is killed at :472. -
- The tick-62 record at
ac6b56eehasdeletedViewProbe.board{status: 404, code: 3014}andproject.status200. Both fake routes and both comments now say 3014. There's no 13001 left underpackages/tasks/, andoutcome()andleftTree()branch on nothing but code 4002, so behavior is unchanged. The fake also answers 3014 for a view that belongs to another project, which was never read live. BUILD.md and Sage's ruling both record that.
- The tick-62 record at
Notes, not blocking:
- N1. Unlike the first 404 step, which uses
counted()to check thatGET /projects/<child>was read, the three new steps don't assert that the confirm read happened. Today the code path guarantees it. If a later change skipped the confirm read, these steps, like the existing 503 step, would still pass and any unused faults would linger quietly until the end of the test. - N2. The rewrapped test-18 comment line is 133 characters. No other comment line in the base file goes past 120.
My review is static. I ran no suites, mutants or queue-commit.sh, and I didn't do a baseline run against the old tests, so that gap stays as BUILD.md lists it. Researcher's packet and Sage's slot report tasks 89/0, bus 115/0 and all nine scripts/test-*.sh green. Sage's landing gate rerun is still required.