You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
❌ npm package `@optave/[email protected]` was never published (`npm view @optave/codegraph versions` ends at 3.9.6)
❌ `package.json` on `main` is still `3.9.6`
What happened
The new pre-publish benchmark gate (#1040) correctly caught the native-engine regressions (#1054, #1055) and blocked the npm publish job — but only after the release event had already created the GitHub release. The publish workflow's `Pre-publish benchmark gate` job is upstream of `publish` (good), but downstream of `actions/checkout@v6` against the already-tagged release ref (the tag is what the workflow checks out).
Failed run: the `publish` and `publish-dev` jobs were skipped because the gate failed; the GH release remained.
User-visible consequence
Anyone consulting the GitHub releases page sees v3.10.0 as the latest stable, but `npm install @optave/codegraph@latest` still resolves to 3.9.6. This is a confusing inconsistency — the changelog/release notes describe shipped changes that aren't actually shipped.
Decisions needed
Release retraction: delete the v3.10.0 GitHub release + tag, or convert it to a draft until the regressions are fixed?
Workflow guard: should the pre-publish benchmark gate run before the GitHub release is created (e.g., on the release-prep PR / push-to-main rather than the release event), so a regression aborts the release earlier?
Suggested workflow improvement
Run the regression guard on the `docs: prepare release notes for vX.Y.Z` PR (it's the last commit before the release tag). If it fails there, the release simply isn't cut. Today the gate runs after the tag exists, which is too late to prevent partial-release state.
Summary
The v3.10.0 release flow ended in an inconsistent state:
What happened
The new pre-publish benchmark gate (#1040) correctly caught the native-engine regressions (#1054, #1055) and blocked the npm publish job — but only after the release event had already created the GitHub release. The publish workflow's `Pre-publish benchmark gate` job is upstream of `publish` (good), but downstream of `actions/checkout@v6` against the already-tagged release ref (the tag is what the workflow checks out).
Failed run: the `publish` and `publish-dev` jobs were skipped because the gate failed; the GH release remained.
User-visible consequence
Anyone consulting the GitHub releases page sees v3.10.0 as the latest stable, but `npm install @optave/codegraph@latest` still resolves to 3.9.6. This is a confusing inconsistency — the changelog/release notes describe shipped changes that aren't actually shipped.
Decisions needed
Suggested workflow improvement
Run the regression guard on the `docs: prepare release notes for vX.Y.Z` PR (it's the last commit before the release tag). If it fails there, the release simply isn't cut. Today the gate runs after the tag exists, which is too late to prevent partial-release state.