* chore(ci): add test-masking PR-context gate to release-green pre-flight
Reproduce check:test-masking (vs origin/main) inside validate-release-green so
non-allowlisted net-assert reductions surface in the local pre-flight instead of
in a ~40-min CI layer on the release PR. run() now merges a per-gate opts.env so
GITHUB_BASE_REF reaches the child. HARD gate; skipped under --quick.
Context: v3.8.43 release cost 3 CI round-trips for PR-context gates (test-masking,
file-size, pr-evidence) that check:release-green did not reproduce locally.
* chore(release): add contributors generator + uncovered-commit reconciliation helpers
- scripts/release/gen-contributors.mjs: reproducible `### 🙌 Contributors` table for a
CHANGELOG version (parenthetical-group parser → accurate per-PR attribution, noise-handle
denylist). v3.8.43 shipped without the section (a real miss) because it was hand-built.
npm run release:contributors <version> [--inject].
- scripts/release/list-uncovered-commits.mjs: lists commits since the last tag with no
CHANGELOG bullet (v3.8.43 had 123/176 uncovered at reconciliation start). Advisory,
maintainer-side. npm run release:uncovered.
- 20 unit tests (parenthetical attribution, noise exclusion, idempotent injection, coverage window).
* chore(quality): absorb web-cookie-providers-new file-size drift from #5928 (base-red on release/v3.8.44)