🥊 Gauntlet review — heroku/node-js-getting-started

commit 7233aca · ran as web · 71s · ~18k tokens · evidence sealed & signed (manifest.json)

19/30▲ was 17/30
Runs
8/10
Delivers its claims
7/10
Code quality
4/10

The submission runs successfully and its live behavior matches the README's boilerplate claims, with tests passing and no error leakage on hostile probes. However, based on the file tree, manifests, and source shown, this is essentially the stock Heroku Node.js getting-started template with no visible original feature work, so it's not possible to assess genuine coding ability beyond copying and running a reference project. Code quality must be scored conservatively given the thinness and boilerplate nature of what was actually shown.

Strengths

Concerns

The submission's own tests

CI=true npx jest → PASS ✅

Security sweep

audit: no known vulnerabilities · secrets: no matches

Failure-mode probe

CheckStatusTrace leaked
GET a route that does not exist404no
POST malformed JSON to /404no

Ask the candidate

  1. This repo appears identical to the official heroku/node-js-getting-started template — what, if anything, did you build or modify yourself, and can you walk through a change you made and why?
  2. Your package.json requires node 22-26.x but the app was tested and ran on node 18.20.4 with EBADENGINE warnings — how would you actually enforce or reconcile the runtime version in a real deployment pipeline?
  3. The keepAliveTimeout is explicitly set to 95s with a comment about Heroku's router timeout — can you explain the race condition this prevents and what would happen if you removed that line?

What the cloud browser saw (189ms to DOM)

screenshot
Mobile viewportmobile screenshot

Generated by Gauntlet — sandboxes & cloud browsers by Solari, judgment by Claude. Verify this evidence: npm run verify -- <this directory>