Skip to content

fix(agents): revert accidental major bump to 0.13.0 and block future major bumps#57

Merged
zrosenbauer merged 4 commits intomainfrom
fix/unpublish-agents-1.0.0
Mar 25, 2026
Merged

fix(agents): revert accidental major bump to 0.13.0 and block future major bumps#57
zrosenbauer merged 4 commits intomainfrom
fix/unpublish-agents-1.0.0

Conversation

@zrosenbauer
Copy link
Member

Summary

  • Unpublished @funkai/agents@1.0.0 from npm (accidental major bump — should have been minor)
  • Reverted package.json version to 0.13.0 and CHANGELOG heading to "Minor Changes"
  • Added .changeset/AGENTS.md documenting pre-1.0 bump rules (minor for breaking, patch for non-breaking, never major)
  • Added CI guard in the changeset job that fails PRs containing major bumps for any @funkai/* package

Test plan

  • Verify @funkai/agents@1.0.0 is no longer on npm
  • Verify CI changeset job catches major bumps on PRs
  • After merge, publish @funkai/agents@0.13.0

…major bumps

Unpublished @funkai/agents@1.0.0 from npm (accidental major bump,
should have been minor). Reverts version to 0.13.0 and CHANGELOG
to "Minor Changes".

Adds CI guard that fails PRs containing major bumps for any
@funkai/* package, and documents pre-1.0 changeset rules in
.changeset/AGENTS.md.

Co-Authored-By: Claude <noreply@anthropic.com>
@changeset-bot
Copy link

changeset-bot bot commented Mar 25, 2026

🦋 Changeset detected

Latest commit: 61e40d8

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@funkai/agents Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link

coderabbitai bot commented Mar 25, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: c424f25c-f59e-49d5-aade-9dded0367331

📥 Commits

Reviewing files that changed from the base of the PR and between b869bac and 61e40d8.

📒 Files selected for processing (1)
  • .github/workflows/ci.yml

📝 Walkthrough

Walkthrough

Rolls back @funkai/agents from 1.0.0 to 0.12.1, removes the 1.0.0 changelog entry, adds a changeset documenting StepResult passthrough changes, and adds a CI step that rejects major version bumps for pre-1.0 @funkai/* packages.

Changes

Cohort / File(s) Summary
CI Enforcement
.github/workflows/ci.yml, AGENTS.md
Adds a workflow step that scans .changeset/*.md (excluding README) for @funkai/* entries declaring a major bump and fails the job with a GitHub Actions ::error annotation; documents contributor rules prohibiting major for pre-1.0.
Version Rollback
packages/agents/package.json, packages/agents/CHANGELOG.md
Sets @funkai/agents version back to 0.12.1 and removes the ## 1.0.0 changelog entry.
Changeset Documentation
.changeset/step-finish-ai-sdk-passthrough.md
Adds a changeset (minor) describing onStepFinish/StepFinishEvent as a superset of Vercel AI SDK StepResult<ToolSet>, and documents structural changes to toolCalls, toolResults, and usage.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main changes: reverting an accidental major version bump and adding CI safeguards to prevent future major bumps for pre-1.0 packages.
Description check ✅ Passed The description clearly documents the changeset with specific actions taken (unpublishing, reverting version, adding CI guard) and aligns with the actual file changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch fix/unpublish-agents-1.0.0

Comment @coderabbitai help to get the list of available commands and usage tips.

Move pre-1.0 changeset guidance into the root AGENTS.md (Git Workflow
section) instead of a separate .changeset/AGENTS.md file. Remove the
now-unnecessary skip in the CI check.

Co-Authored-By: Claude <noreply@anthropic.com>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/ci.yml:
- Around line 62-69: The for-loop that iterates over ".changeset/*.md" can leave
the literal pattern when no files exist, causing grep to error; enable bash
nullglob before the loop (shopt -s nullglob) and restore previous setting
afterwards or rewrite the loop to explicitly check directory contents so the
pattern expands to an empty list when there are no changeset files; adjust the
block around the for f in .changeset/*.md loop and keep the existing checks (the
grep -qP '^"@funkai/.+?":\s*major' "$f" and the found=1 assignment) unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: a64c8e4b-f196-4ee5-a6c7-65ea41aed2a9

📥 Commits

Reviewing files that changed from the base of the PR and between 359d4ff and 6350e44.

📒 Files selected for processing (4)
  • .changeset/AGENTS.md
  • .github/workflows/ci.yml
  • packages/agents/CHANGELOG.md
  • packages/agents/package.json

zrosenbauer and others added 2 commits March 25, 2026 12:29
Revert manual version/CHANGELOG changes and let changeset automation
handle the bump to 0.13.0 properly.

Co-Authored-By: Claude <noreply@anthropic.com>
Prevents confusing "No such file" error when no changeset files exist.

Co-Authored-By: Claude <noreply@anthropic.com>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
.github/workflows/ci.yml (1)

62-64: ⚠️ Potential issue | 🟡 Minor

Handle empty changeset globs safely in the guard loop.

Line 62 can iterate the literal pattern when no files match, so Line 64 runs grep against a non-existent file. Make the glob expand to an empty list.

Proposed fix
       - name: Block major version bumps (pre-1.0)
         run: |
+          shopt -s nullglob
           found=0
           for f in .changeset/*.md; do
-            [ "$f" = ".changeset/README.md" ] && continue
+            [ "$f" = ".changeset/README.md" ] && continue
             if grep -qP '^"@funkai/.+?":\s*major' "$f"; then
               echo "::error file=$f::Major bump detected — all `@funkai/`* packages are pre-1.0. Use 'minor' for breaking changes."
               found=1
             fi
           done
           exit $found
#!/bin/bash
set -euo pipefail

echo "Inspecting guard step in .github/workflows/ci.yml"
nl -ba .github/workflows/ci.yml | sed -n '56,72p'

echo
echo "Checking for nullglob and loop pattern:"
rg -n 'nullglob|for f in \.changeset/\*\.md|grep -qP' .github/workflows/ci.yml
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/ci.yml around lines 62 - 64, The loop "for f in
.changeset/*.md; do" can iterate the literal pattern when no files match; enable
safe globbing by adding a Bash nullglob before the loop (shopt -s nullglob) and
optionally restore it after (shopt -u nullglob), so the guard '[ "$f" =
".changeset/README.md" ] && continue' and the subsequent grep -qP
'^"@funkai/.+?":\s*major' "$f" only run for real files; alternatively, if you
prefer not to change shell options, add an existence check inside the loop
(e.g., [ -e "$f" ] || continue) to skip non-existent matches.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In @.github/workflows/ci.yml:
- Around line 62-64: The loop "for f in .changeset/*.md; do" can iterate the
literal pattern when no files match; enable safe globbing by adding a Bash
nullglob before the loop (shopt -s nullglob) and optionally restore it after
(shopt -u nullglob), so the guard '[ "$f" = ".changeset/README.md" ] &&
continue' and the subsequent grep -qP '^"@funkai/.+?":\s*major' "$f" only run
for real files; alternatively, if you prefer not to change shell options, add an
existence check inside the loop (e.g., [ -e "$f" ] || continue) to skip
non-existent matches.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: a9873061-8af0-4e3f-8765-8a2186117dd2

📥 Commits

Reviewing files that changed from the base of the PR and between 6350e44 and b869bac.

📒 Files selected for processing (5)
  • .changeset/step-finish-ai-sdk-passthrough.md
  • .github/workflows/ci.yml
  • AGENTS.md
  • packages/agents/CHANGELOG.md
  • packages/agents/package.json
💤 Files with no reviewable changes (1)
  • packages/agents/CHANGELOG.md

@zrosenbauer zrosenbauer merged commit 428cf78 into main Mar 25, 2026
2 checks passed
@zrosenbauer zrosenbauer deleted the fix/unpublish-agents-1.0.0 branch March 25, 2026 16:35
@vercel
Copy link

vercel bot commented Mar 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
funkai Ready Ready Preview, Comment Mar 25, 2026 5:01pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant