From 4986a9a36a15caf3414336a4578e8ccf96b2cf90 Mon Sep 17 00:00:00 2001 From: Radwuan Abouzeid Date: Sat, 5 Sep 2026 16:08:31 -0500 Subject: [PATCH] chore: add one `npm run check` for the nine check scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The nine check scripts were written out longhand in three places — ci.yml, CONTRIBUTING.md, and everyone's shell history. Change the set and you had to remember all three. This adds a single aggregate script and points the other two at it. The `&&` chain keeps the property the nine-line CI step was protecting: it stops at the first failure, and the failing script still names itself. Verified by breaking bind-check on purpose — exit 1, `bind:check` named in both the npm header and the stack trace, and the six checks after it never ran. `golden` deliberately stays out. It shells out to the claude CLI and bills per run, so it remains a separate local-only gate. One thing worth a maintainer's eye: package.json has eleven `*:check` scripts, not nine. `clock:check` and `delta:check` (Phase 14) are in neither ci.yml nor CONTRIBUTING, so they're left out here to keep this to the issue as written — but `npm run check` now reads as exhaustive while quietly skipping two. Glad to fold them in if that omission wasn't deliberate. Closes #6 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01WyeecwdT2gD3fxeWkJpTKa --- .github/workflows/ci.yml | 14 +++----------- CONTRIBUTING.md | 4 +--- package.json | 1 + 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 99575de..33bf540 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,18 +24,10 @@ jobs: cache: npm - run: npm ci - run: npx tsc --noEmit - # One step, one line each: the failing script's name is the failure. + # The aggregate is `&&`-chained, so it still stops at the first failure + # and the failing script names itself in its own output. - name: check scripts - run: | - npm run landing:check - npm run epoch:check - npm run bind:check - npm run dedupe:check - npm run reentry:check - npm run unclaimed:check - npm run notify:check - npm run spawn:check - npm run scope:check + run: npm run check rust: name: rust (${{ matrix.os }}) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fabd3dd..0793c3c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,9 +24,7 @@ These are the merge gates. CI runs all of them except `golden`: ```bash npx tsc --noEmit # TypeScript, strict cd src-tauri && cargo clippy --all-targets -- -D warnings && cargo test -npm run landing:check && npm run epoch:check && npm run bind:check \ - && npm run dedupe:check && npm run reentry:check && npm run unclaimed:check \ - && npm run notify:check && npm run spawn:check && npm run scope:check +npm run check # all nine check scripts ``` `npm run golden` is the extraction golden set. It shells out to the `claude` diff --git a/package.json b/package.json index 20034f3..240982c 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "tauri": "tauri", "reinstall": "sh scripts/reinstall.sh", "golden": "tsx scripts/golden.ts", + "check": "npm run landing:check && npm run epoch:check && npm run bind:check && npm run dedupe:check && npm run reentry:check && npm run unclaimed:check && npm run notify:check && npm run spawn:check && npm run scope:check", "landing:check": "tsx scripts/landing-check.ts", "epoch:check": "tsx scripts/epoch-check.ts", "bind:check": "tsx scripts/bind-check.ts",