From c195a71b2e2856941d998afef6c137ee5084e478 Mon Sep 17 00:00:00 2001 From: milstan Date: Mon, 20 Apr 2026 23:48:47 -0700 Subject: [PATCH] =?UTF-8?q?chore(leadclaw):=200.2.1=20=E2=80=94=20signed?= =?UTF-8?q?=20provenance=20+=20match=20mcp=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0.2.0 was the bootstrap release before the repo went public, so it shipped without sigstore provenance. 0.2.1 is a no-op bump whose only purpose is to get signed provenance on @leadbay/leadclaw and keep versions in sync with @leadbay/mcp@0.2.1. Also fix the contract test that hardcoded "0.2.0" — it now asserts manifest.version === package.json#version, so future bumps only need to edit those two files (enforced by the release workflow's version drift guard). Co-Authored-By: Claude Opus 4.7 (1M context) --- packages/leadclaw/CHANGELOG.md | 4 ++++ packages/leadclaw/openclaw.plugin.json | 2 +- packages/leadclaw/package.json | 2 +- packages/leadclaw/test/contract.test.ts | 4 +++- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/leadclaw/CHANGELOG.md b/packages/leadclaw/CHANGELOG.md index 35b9adc..b3bba24 100644 --- a/packages/leadclaw/CHANGELOG.md +++ b/packages/leadclaw/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog — @leadbay/leadclaw +## 0.2.1 — 2026-04-21 + +No functional changes. First release shipping with signed sigstore provenance (repo is now public, which unblocks npm's provenance gate). Version kept in sync with `@leadbay/mcp@0.2.1`. + ## 0.2.0 — 2026-04-20 First public release to npm and ClawHub. diff --git a/packages/leadclaw/openclaw.plugin.json b/packages/leadclaw/openclaw.plugin.json index e41a041..3e6d8a4 100644 --- a/packages/leadclaw/openclaw.plugin.json +++ b/packages/leadclaw/openclaw.plugin.json @@ -2,7 +2,7 @@ "id": "leadclaw", "name": "LeadClaw", "description": "Leadbay lead discovery, qualification, and contact enrichment for AI agents", - "version": "0.2.0", + "version": "0.2.1", "contracts": { "tools": [ "leadbay_login", diff --git a/packages/leadclaw/package.json b/packages/leadclaw/package.json index fdda3b8..8ccd278 100644 --- a/packages/leadclaw/package.json +++ b/packages/leadclaw/package.json @@ -1,6 +1,6 @@ { "name": "@leadbay/leadclaw", - "version": "0.2.0", + "version": "0.2.1", "description": "OpenClaw plugin for Leadbay — AI lead discovery, qualification, and enrichment", "type": "module", "main": "dist/index.js", diff --git a/packages/leadclaw/test/contract.test.ts b/packages/leadclaw/test/contract.test.ts index 48681b4..5673e72 100644 --- a/packages/leadclaw/test/contract.test.ts +++ b/packages/leadclaw/test/contract.test.ts @@ -20,6 +20,8 @@ import { register } from "../src/index.js"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const manifestPath = path.resolve(__dirname, "..", "openclaw.plugin.json"); const manifest = JSON.parse(readFileSync(manifestPath, "utf8")); +const pkgPath = path.resolve(__dirname, "..", "package.json"); +const pkg = JSON.parse(readFileSync(pkgPath, "utf8")); describe("contract: manifest ↔ code parity (full expose)", () => { it("with exposeGranular+exposeWrite, registered tools match manifest exactly", () => { @@ -112,7 +114,7 @@ describe("contract: manifest ↔ code parity (full expose)", () => { it("manifest has expected top-level shape", () => { expect(manifest.id).toBe("leadclaw"); - expect(manifest.version).toBe("0.2.0"); + expect(manifest.version).toBe(pkg.version); expect(manifest.configSchema).toBeTypeOf("object"); expect(Array.isArray(manifest.contracts.tools)).toBe(true); });