Skip to content

release: 20.1.0 — publish the scaffold's own CI and the budget accounting fix - #433

Merged
sebyx07 merged 1 commit into
mainfrom
release/20.1.0
Sep 12, 2026
Merged

sebyx07 merged 1 commit into
mainfrom
release/20.1.0

Conversation

@sebyx07

@sebyx07 sebyx07 commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

What

The lockstep bump to 20.1.0, which is what actually ships the scaffold's own CI to customers.

Why

bda24709 merged the work: a generated app now carries .github/workflows/ci.yml running bin/setup && bin/check on push and pull request, the framework's own bin/setup and bin/check run first-pass green with no waiver, and frameworkJsBytes is excluded from the app's js budget so prerender registration order no longer changes the measured total.

None of that reaches anyone until it is published. Measured before opening this:

bun run scripts/registry-audit.ts --json
-> 31/31 publishable packages are on npm at 20.0.0, every one attested

20.0.0 was tagged before bda24709 landed, so bunx create-ultimate today still hands a customer an app with no CI. Merging this and publishing the Release is the step that closes that.

Changes

Minor, not major: the scaffold gained an emitted file and a corrected measurement, and no published API was removed. The repository's history supports a minor at this point — 19.0.0 through 19.4.0 carried ten of them, so the cadence is not major-only.

47 files, all modified, none added or deleted. 42 manifests (the 31 published packages plus the private examples/dummy and dummy/social-media-clone trees), the changelog, and the four derived files: bun.lock, docker/helm/Chart.yaml, framework.manifest.json and the wiki footer's version stamp.

The changelog's [Unreleased] section was not a placeholder — bda24709 had already written its own entries. The one thing it named nowhere was the budget accounting, so that is added under ### Fixed, including why frameworkJsBytes is optional on RouteStats: a stats file written before this release carries no such key, and absent is not zero.

Verification

Branch cut from main at bda24709. Gate green:

bin/check
✓ 14 of 20 steps passed in 118085ms — 6 skipped: drift, contract-diff, budgets, seo, i18n, policy

The six skips are app-level steps with no app in this repository, and they skip on a clean run too. Reproduced twice, both exit 0. The unit lane is 17,044 tests across 1,373 files.

bun run scripts/release.ts --check 20.1.0
✓ 31 packages are stamped at 20.1.0, and so is every file derived from them

That is the question the release workflow asks before it publishes. bun install and then bun install --frozen-lockfile both reported no changes, confirming the bump had already corrected the lock.

One thing CI does not cover, and it cost two red runs

This build box runs Bun 1.3.14 and REQUIRED_BUN is 1.4.0 (packages/cli/src/app-root.ts, and engines.bun). On the system Bun the gate is red with a different set of failures each run — 27 the first time, 7 the second — most of them X_BUN_VERSION raised before create-ultimate does anything, the rest port-bind and spawn-hook timeouts. Against a 1.4.0 binary it is green first pass in a quarter of the wall time. None of the red was tree-caused; the box is simply below the framework's own floor. Noting it so the next person does not debug a version gap as a regression.

Related

Filed while reading the release path end to end: #432 — the npm-publish environment has only a branch policy, no required reviewers, while release.yml and PUBLISHING.md both state that reviewers gate the publish. Publishing is irreversible, so that gap is worth closing or the claim worth deleting. It does not block this bump.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

The lockstep bump that publishes the scaffold's own CI. bda2470 made a
generated app carry .github/workflows/ci.yml and corrected the budget
accounting, and npm still serves 20.0.0 for all 31 packages, so a customer
running bunx create-ultimate today gets an app with no CI.

Minor rather than major: the scaffold gained an emitted file and a corrected
measurement, and no published API was removed. The repo's history supports a
minor here, 19.0.0 through 19.4.0 carried ten of them.

Derived files moved with the manifests: framework.manifest.json, bun.lock,
docker/helm/Chart.yaml and the wiki footer's version stamp.

scripts/release.ts --check 20.1.0 reports 31 packages stamped at 20.1.0 and
every file derived from them. bin/check is green first pass, 14 of 20 steps
passed and 6 skipped, the app-level steps that have no app in this repo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown

Warning

Review limit reached

  • Run on-demand review

On-demand reviews are free for the next 9 days. After that, they cost $0.25 per reviewed file.

Or wait 9 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 92 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: ASSERTIVE

Plan: Essentials

Run ID: cfca17db-4504-45d7-894a-20ec58ad995d

📥 Commits

Reviewing files that changed from the base of the PR and between bda2470 and 37cb36d.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock, !**/bun.lock
📒 Files selected for processing (46)
  • CHANGELOG.md
  • docker/helm/Chart.yaml
  • dummy/social-media-clone/package.json
  • dummy/social-media-clone/packages/i18n/package.json
  • examples/dummy/apps/admin/package.json
  • examples/dummy/apps/web/package.json
  • examples/dummy/package.json
  • examples/dummy/packages/core/package.json
  • examples/dummy/packages/db/package.json
  • examples/dummy/packages/domain/package.json
  • examples/dummy/packages/i18n/package.json
  • examples/dummy/packages/mcp/package.json
  • examples/dummy/packages/ui/package.json
  • framework.manifest.json
  • packages/action/package.json
  • packages/admin/package.json
  • packages/ai/package.json
  • packages/auth/package.json
  • packages/cache/package.json
  • packages/cli/package.json
  • packages/core/package.json
  • packages/create-ultimate/package.json
  • packages/db/package.json
  • packages/entity/package.json
  • packages/flags/package.json
  • packages/http/package.json
  • packages/i18n/package.json
  • packages/jobs/package.json
  • packages/mail/package.json
  • packages/manifest/package.json
  • packages/mcp/package.json
  • packages/money/package.json
  • packages/notify/package.json
  • packages/policy/package.json
  • packages/pwa/package.json
  • packages/query/package.json
  • packages/realtime/package.json
  • packages/render/package.json
  • packages/schema/package.json
  • packages/scraping/package.json
  • packages/seo/package.json
  • packages/storage/package.json
  • packages/testing/package.json
  • packages/time/package.json
  • packages/ui/package.json
  • wiki/_Footer.md

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

@developerz-ai

developerz-ai Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

🟡 Not reviewed — no model ran

no findings — nothing capable of finding any ran · grounded on your code

No model reviewed this diff — no model credential reached the server that ran it, so there was nothing to review the code with. What follows is a mechanical summary of which files changed: it reports no findings because nothing capable of finding anything ran, NOT because the changes were found to be clean.

⚠️ 3 config note(s): prior review discussion was not shown to the reviewer — this pull request carried no review comments, so nothing settled earlier could inform this pass · 1 noise file(s) auto-skipped (lockfiles/generated/vendored — re-include with path_filters) · test files were not shown to the reviewer — this diff touched no path recognised as a test, so no assertion was available to read the change against

🤖 developerz.ai — automated review, running on your box. No model reviewed this diff.

@developerz-ai developerz-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review summary — 46 file(s) changed. No model reviewed them.

Reviewed 46 file(s), +292 / 562 changed line(s).

  • CHANGELOG.md
  • docker/helm/Chart.yaml
  • dummy/social-media-clone/package.json
  • dummy/social-media-clone/packages/i18n/package.json
  • examples/dummy/apps/admin/package.json
  • examples/dummy/apps/web/package.json
  • examples/dummy/package.json
  • examples/dummy/packages/core/package.json
  • examples/dummy/packages/db/package.json
  • examples/dummy/packages/domain/package.json
  • examples/dummy/packages/i18n/package.json
  • examples/dummy/packages/mcp/package.json
  • examples/dummy/packages/ui/package.json
  • framework.manifest.json
  • packages/action/package.json
  • packages/admin/package.json
  • packages/ai/package.json
  • packages/auth/package.json
  • packages/cache/package.json
  • packages/cli/package.json
  • packages/core/package.json
  • packages/create-ultimate/package.json
  • packages/db/package.json
  • packages/entity/package.json
  • packages/flags/package.json
  • packages/http/package.json
  • packages/i18n/package.json
  • packages/jobs/package.json
  • packages/mail/package.json
  • packages/manifest/package.json
  • …and 16 more

Review — no model ran

No model reviewed this diff — no model credential reached the server that ran it, so there was nothing to review the code with. What follows is a mechanical summary of which files changed: it reports no findings because nothing capable of finding anything ran, NOT because the changes were found to be clean.

A model-backed review needs a connected provider with a usable key on this account (Account -> Integrations); until there is one, reviews here are a mechanical changed-files summary.

Review pass matrix — incomplete

Mandatory pass(es) missing: Security. Approval is gated in code on the mandatory set, so this review CANNOT post a real GitHub APPROVE even if the diff is clean — the verdict is a quiet advisory comment until the missing pass records completion.

Pass Status Detail
Correctness ✅ completed (0 findings)
Security ⏭️ skipped (MANDATORY) not_wired
Tests ⏭️ skipped not_wired
API/Contract ⏭️ skipped not_wired
Style/nits ⏭️ skipped not_wired
Config notes
  • prior review discussion was not shown to the reviewer — this pull request carried no review comments, so nothing settled earlier could inform this pass
  • 1 noise file(s) auto-skipped (lockfiles/generated/vendored — re-include with path_filters)
  • test files were not shown to the reviewer — this diff touched no path recognised as a test, so no assertion was available to read the change against

🤖 developerz.ai review — automated, running on your box. No model reviewed this diff — see below. What is this?

@sebyx07
sebyx07 merged commit c626977 into main Sep 12, 2026
39 checks passed
@sebyx07
sebyx07 deleted the release/20.1.0 branch September 12, 2026 02:47
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