Skip to content

ci: adopt the shared PR checks workflow; split lint and format - #124

Merged
will-lamerton merged 1 commit into
mainfrom
ci/shared-pr-checks
Aug 30, 2026
Merged

ci: adopt the shared PR checks workflow; split lint and format#124
will-lamerton merged 1 commit into
mainfrom
ci/shared-pr-checks

Conversation

@will-lamerton

Copy link
Copy Markdown
Member

Fourth repo onto the shared pr-checks workflow in Nano-Collective/.github, after get-md, sentinel and prompt-scrubber.

Two blockers had to clear first

1. lint and format were the same script

nanotune was the only repo where test:lint ran biome check . — which is what every other repo calls test:format — and it had no test:format at all:

Everywhere else nanotune (before)
test:lint biome lint . biome check .
test:format formatter-only missing

The shared workflow runs Linting and Format Checks as separate blocking jobs, so this had to be split. test:lint is now biome lint .; test:format is the formatter-only biome ci invocation that prompt-scrubber and nanoterm already use. Same coverage, split across the two checks it is meant to be split across. Both verified passing locally, along with types and knip.

2. Coverage is below the org floor

71.46% against a standard of 80. Rather than leave a permanently red check on all 7 open pull requests — punishing contributors for pre-existing debt and training everyone to ignore CI — the floor is pinned just under current coverage:

with:
  coverage-threshold: 71   # TEMPORARY

fail-on-drop does the real work from today: the baseline is read from the committed coverage badge on main, so any PR that lowers coverage fails. Coverage cannot regress; the gap to 80 closes deliberately rather than drifting.

Tracked in #123. nanotune stays out of the org quality ruleset until the input can be deleted.

What it gains

Blocking — Linting, Type Checks, Format Checks, Unused Dependencies, Unit Tests & Coverage Analysis, Verify Build.

Advisory — Package Audit Analysis, Semgrep Security Scan, CodeQL Security Analysis. These report but never fail the PR, since they depend on upstream advisory feeds.

Fourth repo onto the shared workflow in Nano-Collective/.github, after
get-md, sentinel and prompt-scrubber.

Two things had to change first.

nanotune was the only repo where test:lint ran `biome check .` — which is
what every other repo calls test:format — and it had no test:format at
all. The shared workflow runs both as separate blocking checks, so the
scripts now match the org convention: test:lint is `biome lint .`, and
test:format is the formatter-only biome ci invocation prompt-scrubber and
nanoterm already use. Same coverage, split across the two checks it is
meant to be split across.

Coverage is 71.46% against an org floor of 80. Rather than leave a
permanently red check on all 7 open PRs — punishing contributors for
pre-existing debt — the floor is pinned at 71 and fail-on-drop does the
work: coverage cannot regress from here. The gap closes deliberately,
tracked in #123, and nanotune stays out of the org quality ruleset until
it clears 80.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014WoygKgfq3ahXinVVHqjA8
@will-lamerton
will-lamerton merged commit fb2c013 into main Aug 30, 2026
10 checks passed
@will-lamerton
will-lamerton deleted the ci/shared-pr-checks branch August 30, 2026 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant