fix(review): single eslint home, threshold co-location, helper reuse, docs clarity
Review-pass fixes: lint:ci composes npm run lint (one eslint invocation home); the scripts/ coverage floor moves to package.json (test:coverage:scripts-floor) so both thresholds live together; the ratchet test uses helpers.createTempDir; TESTING-SUITES.md clarifies what the Windows scoped lane runs and why feat-*/enh-* files are exempt from the bug-* ratchet. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -46,6 +46,12 @@ identity ratchet (`npm run lint:regression-names`, part of `npm run lint:ci`):
|
||||
- **Deleting/consolidating** a grandfathered file requires pruning its
|
||||
allowlist entry, so the baseline only ever shrinks.
|
||||
|
||||
The ratchet deliberately covers only `bug-*`. Files named `feat-NNNN-*` /
|
||||
`enh-NNNN-*` are *feature* test files — one (or one per suite) per feature is
|
||||
the sanctioned layout (see the #443 strategy below), not a one-off regression
|
||||
pattern. If `issue-*`/`perf-*` one-offs start accumulating the same way
|
||||
`bug-*` did, extend the ratchet's regex and regenerate the allowlist.
|
||||
|
||||
## Running suites locally
|
||||
|
||||
```bash
|
||||
@@ -96,11 +102,14 @@ The `Tests` workflow runs every PR through a scoped gate generated by
|
||||
tests.
|
||||
|
||||
The default PR gate runs the broad `unit` (under the c8 coverage gate),
|
||||
`integration`, and `security` suites once on Ubuntu / Node 24, scoped smoke on
|
||||
Ubuntu / Node 22, and scoped Windows-sensitive tests on Windows / Node 24.
|
||||
**Every changed test file always joins the Windows scoped lane** (the #494
|
||||
invariant, narrowed): a modified test is exercised on the divergent OS before
|
||||
merge at per-file cost, without paying for the three full parity lanes.
|
||||
`integration`, and `security` suites once on Ubuntu / Node 24, scoped tests on
|
||||
Ubuntu / Node 22, and scoped tests on Windows / Node 24. "Scoped" means the
|
||||
diff-selected list from the rule table — not the full suite and not a fixed
|
||||
smoke set (the fixed smoke list is only the empty-selection fallback). The
|
||||
Windows lane's list is the Windows-sensitive subset of the selection, plus
|
||||
**every changed test file, unconditionally** (the #494 invariant, narrowed): a
|
||||
modified test is exercised on the divergent OS before merge at per-file cost,
|
||||
without paying for the three full parity lanes.
|
||||
|
||||
PRs touching workflow, package, test-runner, install, release, or
|
||||
Windows-sensitive surfaces also run the full parity matrix on macOS and the
|
||||
|
||||
Reference in New Issue
Block a user