chore(release): promote api-to-typemcp v0.2.1 - #70
Conversation
* fix(release): require public ClawHub confirmation * fix(release): validate published ClawHub version
sjungwon03-ai
left a comment
There was a problem hiding this comment.
Code Review — APPROVE
PR: chore(release): promote api-to-typemcp v0.2.1
Head: cacaa04d5a72e1013230fabd50f222bbd3f6f35c
Author: sjungwon03
Summary
Clean release promotion from dev to main bundling security hardening (#65), ClawHub public-confirmation gate (#61), and the v0.2.1 version bump (#67). All code-quality CI checks pass (e2e, docs-and-harness, bundled-engine). The release-promotion check failure is the expected branch guard (requires dev ref), not a code issue.
Findings
- API client base-path fix (
api-client.ts.tmpl): Correctly strips a leading/and resolves againstbaseUrl + "/", preserving configured path prefixes. Regression test added. - Lockfile enforcement (
verify_generated.py):inspect_packagenow rejects projects withoutpackage-lock.jsonbefore install.npm ci --ignore-scriptsreplacesnpm install, ensuring deterministic dependency graphs. - Environment containment: Smoke subprocesses receive only
TYPE_MCP_BASE_URLandPATH— no parent environment cloning.NODE_OPTIONS/NODE_PATHremoved from the safe set. Proxy and audit disabled for npm. - ClawHub publication gate (
skill-release.yml): Captures CLI output, parses JSON, and fails closed unlessstatus,publicationStatus, andversionall match. Prevents false-positive releases. - Dependency updates: SDK
^1.30.0, Vitest^4.1.10, and@hono/node-serveroverride2.0.12align with the security audit recommendations. - Documentation consistency:
npm install→npm cipropagated through validators, docs, and tests. - Security regression tests: Three focused tests cover lockfile requirement, environment containment, and patched dependency ranges.
Non-blocking observations
- The PR description correctly notes this must be merged with the merge commit method to preserve the intentional two-parent lineage repair.
- Task briefs (#63, #65, #67, #69) are included for traceability.
No code-quality blockers identified.
cacaa04 to
e8995f2
Compare
sjungwon03-ai
left a comment
There was a problem hiding this comment.
Code Review — APPROVE
PR: chore(release): promote api-to-typemcp v0.2.1
Head: e8995f21284da417e534f12028656d3cdb97b7cf
Author: sjungwon03
Summary
Release promotion from dev to main bundling security hardening (#65), ClawHub public-confirmation gate (#61), and the v0.2.1 release artifact (#67). The diff is well-scoped: 24 files, mostly version bumps, documentation alignment, and three substantive code changes.
Correctness
api-client.ts.tmplbase-path fix: ThenormalizedPath+baseUrl + "/"pattern correctly preserves a configured base-path prefix (e.g./v2) when endpoint paths start with/. Regression test added intest_render.py.verify_generated.py: Lockfile gate fails fast before install;npm ci --ignore-scriptsreplacesnpm installfor reproducible lockfile-based builds; proxy env vars explicitly cleared. All correct.- Release promotion workflow: The strict
release/<positive-int>-<kebab>regex, dual ancestry checks (origin/mainandorigin/dev), and two-parent merge-commit assertion are sound guards. Pinned checkout SHA is good practice.
Security
- Smoke-test child processes now receive only
{ TYPE_MCP_BASE_URL, PATH }instead of...process.env— eliminates credential leakage to generated MCP servers. _SAFE_ENV_KEYSreduced (droppedSHELL,NODE_OPTIONS,NODE_PATH), tightening the containment boundary.@hono/node-serverpinned viaoverridesto2.0.12, and SDK/Vitest ranges updated to reviewed versions.- New
test_verify_generated_security.pycovers lockfile enforcement, env-clone prevention, and patched dependency ranges.
CI
All required checks pass on the exact head SHA: e2e, bundled-engine, docs-and-harness, release-promotion (success); release-skill (skipped, expected pre-merge).
Verdict
No code-quality blockers. Security posture is materially improved, tests are comprehensive, and documentation is consistently updated across SKILL.md, README, architecture overview, and security guide.
sjungwon03-ai
left a comment
There was a problem hiding this comment.
Independent exact-HEAD review at e8995f2.
Verified: two-parent merge (old main 699638c then reviewed dev 2274a10), both origin/main and origin/dev are ancestors, full-history checkout with pinned actions/checkout SHA + fetch-depth 0, release branch regex allows only dev or strict release/- with no bypass, release branches require exactly two parents, ClawHub public confirmation gate, lockfile-based npm ci containment, patched dependency ranges. All 5 CI checks green on this exact SHA. Focused local checks: 15 release-contract tests, 13 render/security tests, 38+15 doc validations all pass. No unrelated side effects. AP...OVE.
Release promotion: api-to-typemcp v0.2.1
This release candidate is an intentional two-parent merge commit from
mainand revieweddev, repairing the historical release-lineage divergence while preserving both parents. It must be merged intomainwith the merge commit method (not squash or rebase).Included reviewed changes
0.2.1Exact candidate
e8995f21284da417e534f12028656d3cdb97b7cf699638c08dba58eb99c1cc54f6c0e193af5237ed(main) and2274a105e701a0a93a90a636b7273f7d21b9cfa8(dev)Verification
npm ci --ignore-scripts, build, Vitest,npm audit --package-lock-only(0 vulnerabilities)git diff --check origin/main...HEADCloses #69