Capture the reviewed implementation and manual rehearsal for draft PR review. Master source prerequisites, full clean verification and coordinated Windows CI remain open; production rollout is separate.
* fix: lazy-load yaml so CLI startup stays within budget
The top-level 'yaml' import in bench-kit.ts is pulled in by index.ts,
so every CLI start paid for loading the YAML parser and the binary
smoke test's 50ms startup budget blew on CI (~58ms). Import yaml
dynamically inside registerBaseRepo — the only code path that needs
it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* test: raise unix startup budget to 60ms
Local measurements show bench-kit added no startup cost (~38ms avg at
pre-bench-kit, merged, and lazy-import refs alike) — the 50ms budget
was simply too tight for shared CI runners, which hover just above it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
npm pack --dry-run --json consistently exceeds 30s on windows-latest
runners. Since package contents are platform-independent, this test
only needs to run on Ubuntu (check job).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
npm pack --dry-run --json takes >15s on windows-latest runners.
Bump timeout from 15s to 30s.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- auto-version.mjs: use os.tmpdir() instead of hardcoded /tmp/ for
release-notes.md (Windows has no /tmp)
- binary.test.ts: raise startup budget to 150ms on Windows (CI runners
have slower process spawn overhead)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Shell commands like `echo '...' > file` and `cp` don't work on Windows.
Replace with writeFileSync, appendFileSync, and copyFileSync so the
auto-version smoke tests pass on both unix and Windows CI runners.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Auto-version from conventional commits (auto-version.mjs) with git-diff
gate: only releases when src/ or package.json actually changed
- 5-platform binary builds (linux x64/arm64, macOS x64/arm64, windows)
- npm publish with auth token wiring
- GitHub Release with auto-generated notes and binary attachments
- Smoke tests for package tarball and auto-version script
- Hardened: top-level permissions: {}, env bindings (no expression injection),
persist-credentials only where needed for git push
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>