Skip to content

fix(node): stop the recommended Node version travelling as the required one - #74

Open
santifer wants to merge 1 commit into
mainfrom
fix/node-floor-short-forms
Open

fix(node): stop the recommended Node version travelling as the required one#74
santifer wants to merge 1 commit into
mainfrom
fix/node-floor-short-forms

Conversation

@santifer

Copy link
Copy Markdown
Member

Unblocks the second blog refresh, and it turned out not to need the maintainer after all.

I had this wrong, and so did search-ops

I reported five conflicting Node numbers in the core and routed it to the maintainer as undecidable. Two of my five rows were wrong (I attributed a grep hit across two files to both of them), and the remaining picture is not a conflict at all:

Source Says Means
package.json engines >=18 the floor
docs/SETUP.md line 6 18+, "the Gemini CLI integration requires Node.js 20+" floor plus one path
lib/gemini-node-floor.mjs GEMINI_MIN_MAJOR = 20 the Gemini floor, in code
our /docs, all three locales minimum 18 (works, with a warning), 22.5+ recommended (SQLite tracker index), Gemini needs 20+ already correct

22.5 is a recommendation, not a requirement, and our long-form docs state it properly.

The actual bug

Four short-form surfaces dropped the qualifier:

  • comparisons.json ×3 — "10-15 minutes if you have Node 22.5+"
  • /blog/the-complete-ai-job-search-guide"Setup takes fifteen minutes if you have Node 22.5+"

Read alone, each says you need 22.5. Someone on Node 18 reads three comparison pages and a guide telling them they are under-equipped, and stops at the step where people already abandon most. Same principle as the apply string: a sentence that travels alone has to be correct alone.

The core already wrote the lesson down

lib/gemini-node-floor.mjs exists because of this exact failure, and its header names this site:

the fact lived only in prose, docs/SETUP.md stated it, the docs site did not, and a user on Node 18 who followed the site and picked the Gemini path hit the requirement at runtime. Worse, the Spanish and French pages had drifted the other way and asserted Node 20 as a general requirement, which is false.

That ES/FR drift is already fixed here. This is the same class of drift in the surfaces short enough to lose the context.

Why 18+ and not a longer sentence

These are single-line comparison cells. The floor is the only part that belongs in one line; the place to explain the recommendation is /docs, which does, in three languages.

Also

lastModified on the guide moves to today. That is the second of the three overdue refreshes; its central stale fact was this line.

Verification

JSON parses, production build clean. Every surviving 22.5 sits next to an explicit minimum 18.

🤖 Generated with Claude Code

https://claude.ai/code/session_01BcPLgMFMs2B4SJv3vfq8jv

…ed one

Four short-form surfaces said "if you have Node 22.5+", which reads as the
floor. It is not. The core declares engines >=18, docs/SETUP.md says 18+, and
our own /docs pages already say it correctly in all three languages: minimum
18, works with a warning, 22.5+ recommended because it enables the SQLite
tracker index, and Node 20 or newer only for the Gemini CLI path.

So the long form was right and the short forms dropped the qualifier, which
turned a recommendation into a barrier. Someone on Node 18 reads three
comparison pages and a blog guide telling them they need 22.5, and stops at
the step where people already abandon most.

The core has a module for exactly this failure, lib/gemini-node-floor.mjs, and
its header names this site as the case that motivated it: the fact lived only
in prose, prose copies drifted, and the Spanish and French pages had asserted
Node 20 as a general requirement. That part is already fixed here; this is the
same class of drift in the surfaces short enough to lose the context.

18+ rather than a fuller sentence because these strings are one line in a
comparison cell. The place to explain the recommendation is /docs, which does.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BcPLgMFMs2B4SJv3vfq8jv
@vercel

vercel Bot commented Sep 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
career-ops-docs Ready Ready Preview Sep 11, 2026 9:43am UTC

Request Review

@coderabbitai

coderabbitai Bot commented Sep 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 54 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 73872533-96ac-40de-a03a-a8809006d0f0

📥 Commits

Reviewing files that changed from the base of the PR and between c4a2413 and 6fb9be4.

📒 Files selected for processing (2)
  • content/blog/the-complete-ai-job-search-guide.mdx
  • src/lib/data/comparisons.json

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

2 participants