Skip to content

chore(repo): pin Node at the root, and drop a Sponsor button that leads nowhere - #637

Merged
beyondnetPeru merged 2 commits into
developfrom
fix/root-node-pin-and-funding
Aug 21, 2026
Merged

chore(repo): pin Node at the root, and drop a Sponsor button that leads nowhere#637
beyondnetPeru merged 2 commits into
developfrom
fix/root-node-pin-and-funding

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

Closes #565, closes #563.

#565 — nothing enforced the Node version

CI runs Node 20 and CONTRIBUTING said to pin it locally, but there was no .nvmrc and no root engines, so a contributor on 18 or 24 found out from a failing job.

  • .nvmrc with 20 — read by nvm, fnm, asdf and volta alike
  • root engines: { "node": ">=20 <21" }, the range the workflows actually use
  • .nvmrc added to the root-cleanliness allowlist. The guard rejected it first, exactly as the issue said it would
  • the taxonomy's root policy updated in both languages to match

It warns, it does not block. engine-strict is off, verified on this machine's Node 24: npm install emits EBADENGINE and exits 0. The published CLI keeps engines.node >= 18.0.0 — that is a statement about consumers, not about building this repository, and CONTRIBUTING now says so in both languages.

Three stale claims corrected in the same taxonomy section, since the change had to edit it anyway: it still listed DOCUMENTATION_VERSIONS.md (no such file), rulesets/ at the repository root (it moved under src/ months ago), and asserted "No application src/ directories are maintained in this repository" — now the opposite of true.

#563 — the Sponsor button offered nothing

The issue reported four keys with no value. Two of them did have values, so the file was checked rather than trusted:

Key State
github: [beyondnetcode] hasSponsorsListing: false — the button led to a page that does not exist
sponsor: [beyondnetcode] not a key GitHub's FUNDING.yml schema defines
patreon: empty
open_collective: empty

Nothing in the file was real, so the file is gone — which is what the issue proposed for that case.

Verification

  • 03-validate-root-cleanliness.mjs passes with .nvmrc present: 46 root entries read, 3 ignored by git, 43 checked against the taxonomy
  • guards 01 and 04 green, 17/17 entry-surface documents (CONTRIBUTING is on that surface, so both halves moved together)

🤖 Generated with Claude Code

…ds nowhere

Closes #565, closes #563.

**#565 — nothing enforced the Node version.** CI runs Node 20 and CONTRIBUTING
said to pin it locally, but there was no `.nvmrc` and no root `engines`, so a
contributor on 18 or 24 found out from a failing job.

- `.nvmrc` with `20`, read by nvm, fnm, asdf and volta alike
- root `engines: { "node": ">=20 <21" }`, the range the workflows actually use
- `.nvmrc` added to the root-cleanliness allowlist, which is where the repository
  decides what may sit at the root -- the guard rejected it first, exactly as the
  issue said it would
- the taxonomy's root policy updated in both languages to say the same, and three
  stale claims in that same section corrected while there: it still listed
  `DOCUMENTATION_VERSIONS.md` (no such file), `rulesets/` at the root (it moved
  under `src/`), and asserted "no application `src/` directories are maintained
  in this repository" -- which is now the opposite of true

It warns, it does not block: `engine-strict` is off, verified against this
machine's Node 24 -- `npm install` emits `EBADENGINE` and exits 0. The published
CLI keeps `engines.node >= 18.0.0`, because that is a statement about consumers,
not about building this repository.

**#563 — the Sponsor button offered nothing.** The issue reported four empty
keys; two of them did have values, so the file was checked rather than trusted:

- `beyondnetcode` has no GitHub Sponsors listing (`hasSponsorsListing: false`),
  so `github: [beyondnetcode]` rendered a button leading to a page that does not
  exist
- `sponsor:` is not a key GitHub's FUNDING.yml schema defines at all
- `patreon:` and `open_collective:` are empty

Nothing in the file was real, so the file is gone -- which is what the issue
proposed for that case.

Verified: root-cleanliness passes with `.nvmrc` present (46 entries read, 43
checked), guards 01 and 04 green.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: aarroyo <beyondnet.peru@gmail.com>
@beyondnetPeru
beyondnetPeru requested a review from a team as a code owner August 21, 2026 20:14
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown

📊 Bilingual Coverage Impact

PR Changes

  • Paired EN/ES files modified: 3
  • New EN files needing ES translation: 0

Repository Coverage

Metric Value
Total EN files 525
Total ES files 495
Paired files 0
Coverage 0%

Good: All EN changes have ES counterparts.


Generated by GitHub Actions

… not lost

`08-validate-tracking.mjs` caught the deletion immediately: GT-555 closed on six
evidence artifacts and one of them was `.github/FUNDING.yml`, which #563 removed.
The guard is right to refuse -- a closed gap pointing at a file that no longer
exists is a closure nobody can re-check.

Rather than repoint or quietly drop it:

- the artifact leaves GT-555's evidence list, and the record says in its own
  words WHY, so the removal does not read as an omission
- the acceptance criterion in both catalog halves is KEPT and annotated as
  superseded, because it was satisfied when it was written. Rendering was never
  the problem; what it rendered was.

The other five artifacts are untouched and still carry the closure.

Verified: `08-validate-tracking.mjs` passes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: aarroyo <beyondnet.peru@gmail.com>
@beyondnetPeru

Copy link
Copy Markdown
Contributor Author

08-validate-tracking.mjs was right to go red, and the failure was mine.

GT-555 closed on six evidence artifacts and one of them was .github/FUNDING.yml, which this PR deletes. A closed gap pointing at a file that no longer exists is a closure nobody can re-check, so the guard refused — correctly.

Fixed in b5998c60, without repointing or quietly dropping anything:

  • the artifact leaves GT-555's evidence list, and the record states in its own words why, so the removal does not read as an omission
  • the acceptance criterion is kept in both catalog halves and annotated as superseded, because it was satisfied when it was written — rendering was never the problem, what it rendered was
  • the other five artifacts are untouched and still carry the closure

08-validate-tracking.mjs passes locally.

@beyondnetPeru
beyondnetPeru merged commit 2e7610c into develop Aug 21, 2026
34 checks passed
@beyondnetPeru
beyondnetPeru deleted the fix/root-node-pin-and-funding branch August 21, 2026 20: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