check: does this README describe the SDK npm actually serves? - #18
Merged
Conversation
The README advertises `@hyperdag/trustshell` and shows call sites for it — "Drop-in npm client: `shell.evaluate(...)` for HAL". Nothing tied that prose to the package. `shell.evaluate` did not exist on the client at all, so a reader following this README got `TypeError: shell.evaluate is not a function`, and the README stayed green forever because nothing could disagree with it. The method was added in DealAppSeo/trustshell#101, which is MERGED — and the claim is still false, which is the whole reason this check compares against the PUBLISHED PACKAGE rather than against source. npm serves 1.3.0, and 1.3.0 has no `evaluate`. A fix merged to the SDK's main does not make this README true: the README says "npm install", so what npm serves is what a reader gets. A method can be real in git and absent for every user, and that gap is invisible from either repo alone. Running it right now reports exactly that: check:sdk-claims — FAILED README.md advertises 1 method(s) that @hyperdag/trustshell@1.3.0 does not expose: ✗ shell.evaluate(...) THREE OUTCOMES. 0 VERIFIED, 2 NOT_CHECKED, 1 FAILED. A registry it could not reach is NOT_CHECKED — never a pass, and never a failure either. This check's whole job is to know what npm serves, so not knowing is not a verdict. Verified by pointing npm at a dead registry: exit 2, with the reason. It also refuses to report a pass off a parse that clearly did not work (fewer than five methods recovered from the .d.ts means the shape moved, not that the README is clean). DELIBERATELY NOT WIRED INTO CI. It would go red on main immediately, and that red would be TRUE — the README is wrong for anyone installing today. Turning this repo's CI red is a decision for its owner, not a side effect of adding a check. Wiring it is one step in `.github/workflows/ci.yml` whenever the fix is published; publishing is an irreversible, human-only action. Exposed as `npm run check:sdk-claims` so it is runnable and discoverable rather than a script nobody knows exists. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BV8K8JderLwSzxqf9PbJak
DealAppSeo
marked this pull request as ready for review
September 6, 2026 06:51
Strix Security ReviewNo security issues found. Updated for Reviewed by Strix |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The gap
This README advertises
@hyperdag/trustshelland shows call sites for it — "Drop-in npm client:shell.evaluate(...)for HAL". Nothing tied that prose to the package.shell.evaluatedid not exist on the client at all, so a reader following this README gotTypeError: shell.evaluate is not a function— and the README stayed green forever, because nothing could disagree with it.Why it compares against the published package, not source
The method was added in DealAppSeo/trustshell#101, which is merged. The claim is still false.
npm serves
1.3.0, and1.3.0has noevaluate. A fix merged to the SDK'smaindoes not make this README true: the README says "npm install", so what npm serves is what a reader gets. A method can be real in git and absent for every user, and that gap is invisible from either repo alone.Running it right now:
Three outcomes
0VERIFIED ·2NOT_CHECKED ·1FAILED.A registry it could not reach is NOT_CHECKED — never a pass, and never a failure either. This check's whole job is to know what npm serves, so not knowing is not a verdict. Verified by pointing npm at a dead registry: exit 2, with the reason.
It also refuses to report a pass off a parse that clearly didn't work — fewer than five methods recovered from the
.d.tsmeans the shape moved, not that the README is clean.Deliberately not wired into CI
It would go red on
mainimmediately, and that red would be true — the README is wrong for anyone installing today.Turning this repo's CI red is a decision for its owner, not a side effect of adding a check. Wiring it is one step in
.github/workflows/ci.ymlwhenever the fix is published; publishing is an irreversible, human-only action.Exposed as
npm run check:sdk-claimsso it's runnable and discoverable rather than a script nobody knows exists.Risk
One new script, one new npm entry. No CI change, no behaviour change, no dependency.
🤖 Generated with Claude Code
https://claude.ai/code/session_01BV8K8JderLwSzxqf9PbJak
Generated by Claude Code