From a473efb86e6df39df4c1a6d1f041f613bb8edd5e Mon Sep 17 00:00:00 2001 From: IPerception Date: Sun, 16 Aug 2026 20:03:27 -0400 Subject: [PATCH] chore: derive the suite count in release.mjs from the runner It printed "all 8 suites pass" while there were nine, having been written down when there were eight. all.mjs already reports the count in its own summary line, so read that instead of keeping a second copy of the number. Same fault as the ROW_H literal in tree.mjs and the hand-tallied chrome constants in the outline and Claims height caps: a number recorded in a second place that is really a consequence of the first. Co-Authored-By: Claude Opus 5 --- web/release.mjs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/web/release.mjs b/web/release.mjs index 9282361..2893a4b 100644 --- a/web/release.mjs +++ b/web/release.mjs @@ -65,8 +65,11 @@ step(`${branch} matches origin/${branch}`); /* --- 4. the suites must pass ---------------------------------------- */ try { - execFileSync(process.execPath, [join(TESTS_DIR, "all.mjs")], { encoding: "utf8" }); - step("all 8 suites pass"); + // Report what the runner says rather than a count written down here: it said + // "8" while there were nine, which is the same fault as any other number kept + // in a second place. all.mjs owns how many suites there are. + const out = execFileSync(process.execPath, [join(TESTS_DIR, "all.mjs")], { encoding: "utf8" }); + step((out.match(/All \d+ suites passed/) || ["the suites pass"])[0]); } catch (e) { console.log(e.stdout || ""); die("the test suites do not pass");