Repository navigation
release: 1.9.0, do not merge until npm view returns 1.9.0 - #689
Conversation
Publish from this commit, then merge: the docs here say 1.9.0 is on npm. Cut from main. 1.8.1 is not an ancestor of main, so its four regression suites were run on this tree and pass. The one regression found was the README's A2A lines, which had returned to promising a verifiable receipt. Restores the 1.8.1 notes and adds the code changes the changelog was missing. Measured: 165 files, 21 MCP tools, @noble/hashes as a new runtime dependency. The red-team page and its 1.8.0 record are marked historical because they state what was attacked on that date. The version check is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Strix Security Review✅ No open security findings. PR summary: Release PR that sets `@hyperdag/trustshell` to 1.9.0 across `package.json`, the lockfile, install pins and docs, rewrites the changelog to fold in the 1.8.1 notes, corrects the A2A "verifiable receipt" wording, and adds the 1.8.1 first-run regression test to main. Review summaryNo security findings. This is a release PR: it sets The only non-documentation changes are a static install-command string in Because the PR body states that 1.8.1 is not an ancestor of main and that publishing main could undo its fixes, I verified the security-relevant 1.8.1 fixes are actually present in this tree and in the committed Lint leads were triaged and ruled out: the stale Ruled out (3)
Review history (2)
Review 2 on this PR · Reviewed by Strix |
There was a problem hiding this comment.
This is a release PR: it sets the version to 1.9.0 in package.json and the lockfile, sweeps the install pins and npm latest rows across the README, docs and the OpenClaw skill, rewrites the changelog (folding the Unreleased section into 1.9.0 and restoring the 1.8.1 notes), corrects the A2A wording so it no longer promises a "verifiable" settlement receipt, adds tests/release-1.8.1-first-run.test.ts, and marks the red-team page and its 1.8.0 record doc-version: historical. The only non-documentation code changes are a literal string added to the generator in scripts/redteam-report.mjs and a static install command rendered as text in components/test-agent-flow.tsx; neither introduces a sink.
I checked the one security-relevant claim the PR makes about itself: because 1.8.1 was cut from the 1.8.0 source rather than from main, publishing main could have regressed its fixes. All three are present in this tree and their suites pass — the OFFLINE=1 guard in TrustShell.score returns NOT_CHECKED with seenBy: [] before the only HAL fetch and covers the SDK and MCP verify/evaluate/verify_output paths, src/memory/redact.ts matches bare provider key shapes without a KEY= label, and profile show scrubs control and bidi characters. The lint items that touch changed files are pre-existing and unchanged by this diff (a stale "version": "1.6.0" in skills/trustshell/skill.json, the prepublishOnly test gate, a caret range on @hyperdag/proof-verifier, and the narrow GROQ_API_KEY-only scrubPrinted), and none is a vulnerability. No security issues found in the changed code.
Reviewed by Strix
Configure security review settings
The owner's release checklist required both statements in the 1.9.0 notes. The README already had them. The copy inside the published 1.9.0 package does not carry this and will not until the next release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
No security findings. This is a release PR: it sets @hyperdag/trustshell to 1.9.0 in package.json and the lockfile, sweeps the install pins and npm latest rows across the README, docs, install guides and the OpenClaw skill manifest, rewrites the changelog to fold in the 1.8.1 notes, corrects the A2A "verifiable receipt" wording, and adds the 1.8.1 first-run regression test to main.
The only non-documentation changes are a static install-command string in components/test-agent-flow.tsx (rendered as text through the existing Command component, no user input, no HTML sink), a literal doc-version: historical comment emitted by scripts/redteam-report.mjs, and the new test file. None of them introduces a sink, a trust boundary or a new data flow.
Because the PR body states that 1.8.1 is not an ancestor of main and that publishing main could undo its fixes, I verified the security-relevant 1.8.1 fixes are actually present in this tree and in the committed dist/ that the tarball publishes: the OFFLINE=1 gate in TrustShell.score that stops the SDK verifyOutput/evaluate and the MCP verify/verify_output/evaluate from sending text to HAL, the bare provider credential shapes in src/memory/redact.ts wired into containsSecret/redact and remember, and the control/bidi scrubbing in profile show. All three are present in both src and dist, and the 1.8.0 classify ReDoS fix is intact. No 1.8.1 security control is missing.
Lint leads were triaged and ruled out: the stale "version": "1.6.0" field in skills/trustshell/skill.json is informational metadata while the install pin correctly names 1.9.0; the unpinned npx ...@latest invocations the lint file names are on lines this PR does not touch and are documentation only; .mcp.json's 1.8.0 pin is outside the diff; and the --passWithNoTests prepublish gate and the @hyperdag/proof-verifier caret range are pre-existing build configuration the PR does not change.
Reviewed by Strix
Configure security review settings
Do not merge until
npm view @hyperdag/trustshell versionreturns 1.9.0. This branch is what gets published. The docs here say 1.9.0 is on npm, so merging first would make them false.Cut from main. Nothing is published by this PR.
What changed
package.jsonand the lockfile, install pins and the npmlatestrow, using the file list of the 1.8.1 release commit. Site pages are not changed, except the/lab/test-agentpreview, which is a 404 on production and otherwise saystrust-reportis unreleased.CHANGELOG.md: the Unreleased section becomes 1.9.0 and gains the code changes it was missing. The 1.8.1 notes, absent from main, are restored.pollUntilSettledreads the backend's record without verifying it.@noble/hashesas a new runtime dependency.tests/release-1.8.1-first-run.test.tsis added to main. It existed only on the 1.8.1 branch.doc-version: historical, because they record what was attacked on that date. The checker itself is unchanged.1.8.1 is not an ancestor of main
1.8.1 was cut from the 1.8.0 source, so publishing main could have undone its fixes. All four of its regression suites pass on this tree (43 tests), and its
checkrecord label is on main. The README wording above was the one regression found.Evidence
check-doc-versionVERIFIED across 175 markdown files, andredteam-report --checkmatches. The other results are in the checks on this PR.Limits
Nothing here says Guard, Carry or the sandbox control anything outside
trustshell run, the MCP server and the SDK's gated functions; the changelog says so directly. The 1.8.0 tarball had a separate scripted attack before release. This tarball has not, and that battery is not in this repository.🤖 Generated with Claude Code