Repeat the failure
arnx runs each test 3 times, reruns failures on the code before
the change, and has a second model confirm or dispute it. A
failing test shows an assertion fails, not that the code is wrong.
Model replies vary: two reviews of one change can differ.
Compare before and after
Before/after outcomes are regression, pre-existing, new-code,
changed or unknown. Only regression is evidence about the change:
the test passes before and fails after, if its expectation is
right.
Make your decision
Findings with one cause are grouped into an issue, most severe
first, explained as input, actual, expected and why it matters.
Issues backed by a confirmed test come pre-marked real; change
what you disagree with. Marks are real, intended, noise or
rewrite.
Read the coverage gaps
Tests that pass after the change but fail before it appear under
“The change fixes”. Changed code no test touched is listed by
name, and the review says “partly covered”. A passing check covers
only the accepted tests.
test("S2 accepted-test paths escaping the repository are never deleted", async () => {
const { base, repo, env } = setup();
const victim = join(base, "victim.txt");
put(victim, "keep me");
put(join(repo, ".arnx", "accepted-tests.json"), record({ "../victim.txt": {} }));
const cli = new Cli({ cwd: repo, env });
await withDocker("/nonexistent/docker", () => cli.run("remove", "--yes", "--tests"));
expect(existsSync(victim)).toBe(true);
});
### Issue 1 · remove --yes can delete files outside the repository
- Actual: In S2, `../victim.txt` outside the repository was deleted. …
- Failing tests: F2, F4
### F2 · regression · confirmed by the second opinion
- Failure: `expect(received).toBe(expected)`
- Before the change (regression): passes on the code before the change (3 runs): the change broke it
- Second opinion: planRemove takes accepted-tests.json keys verbatim and applyRemove rmSync's join(repo, p), …
The test failed in all 3 runs, passed before the change, and the
second model agreed. We marked it real, kept it with arnx accept,
fixed the code from the fix prompt and saw it pass in arnx check.
Not every finding is like this one: in our own reviews, some
confirmed issues tested behaviour we intended.