Skip to content

feat(bldr, cli, conventional-commits, core, env, fs, git, group, idx, json, num, oak, oxlint-rules, paka, resource, syn, test, tex, tree)!, feat(color, doc-inject, html, http, log, mod, name, npm-registry, release, sch, semver, url, ware), fix(flo, github, kitz): harden vetted follow-up workflows#201

Merged
jasonkuhrt merged 1 commit intomainfrom
codex/release-vetted-followups
Mar 18, 2026

Conversation

@jasonkuhrt
Copy link
Owner

@jasonkuhrt jasonkuhrt commented Mar 18, 2026

Summary

  • harden the vetted release follow-up paths around resume, preview remote handling, workspace resolution, notes boundaries, and explorer git remote failures
  • tighten release history integer parsing with schema-backed validation and add regression coverage for the new failure semantics
  • realign fast-check workspace versions so the root package typecheck stays green after the release dependency update

Verification

  • bun run format:check
  • bun run check:api-model-style
  • bun run build:packages
  • bun run check:types:packages
  • bun run check:lint:type-aware
  • bun run test:packages
  • bun run check:package:packages
  • bun run release:verify

This change is Reviewable

@github-actions
Copy link

github-actions bot commented Mar 18, 2026

Release Forecast

39 packages · 35 primary · 4 cascades · head ee01870

How release calculation works

Primary — packages with commits directly touching their source in this PR.
Cascade — packages that depend on a primary release; re-published for consistency.

Context Version Format
Ephemeral (PR) 0.0.0-pr.<N>.<iter>.<sha>
Candidate <base>-next.<N>
Official Semver bump from conventional commits

Bump rules: feat() → minor · fix() → patch · ! → major
Cascades inherit patch bump.

Projected Release Header

feat(bldr, cli, conventional-commits, core, env, fs, git, group, idx, json, num, oak, oxlint-rules, paka, resource, syn, test, tex, tree)!, feat(color, doc-inject, html, http, log, mod, name, npm-registry, release, sch, semver, url, ware), fix(flo, github, kitz)

Doctor

Check Status Notes
Publish channel manual Declared as manual. Merging does not publish automatically.
Release header pass Canonical release header is feat(bldr, cli, conventional-commits, core, env, fs, git, group, idx, json, num, oak, oxlint-rules, paka, resource, syn, test, tex, tree)!, feat(color, doc-inject, html, http, log, mod, name, npm-registry, release, sch, semver, url, ware), fix(flo, github, kitz).
Release kind pass PR title kind matches the changed source files.
Package visibility pass All 39 planned packages are publishable and not marked private: true.
License metadata pass All 39 planned packages declare a license.
Repository metadata pass All 39 planned packages declare repository metadata.
Repository provenance pass All 39 planned packages point at jasonkuhrt/kitz.
Version availability pass All 39 planned package versions are still unpublished on npm.
Tag uniqueness pass No planned release tags collide with existing git tags.

Manual Preview Runbook

  1. bun run release:build
  2. PR_NUMBER=201 bun run release plan --lifecycle ephemeral
  3. bun run release doctor
  4. bun run release apply --yes

Step 2 writes the exact ephemeral publish plan to .release/plan.json. Step 4 publishes those packages to the pr-201 dist-tag automatically.

Could Still Go Wrong Locally

This comment cannot verify your local machine. Before applying the manual preview release, these checks still need to pass:

  • env.npm-authenticated: prevents npm publish failing because your npm session or token is missing, expired, or scoped incorrectly. Check with bun run release doctor --onlyRule env.npm-authenticated.
  • env.git-clean: prevents publishing from a dirty working tree and tagging code that does not match committed source. Check with bun run release doctor --onlyRule env.git-clean.
  • env.git-remote: prevents tag push failures because the release remote is missing, misnamed, or unreachable. Check with bun run release doctor --onlyRule env.git-remote.

Primary (35)

Cascades (4)

  • @kitz/conf via @kitz/mod, @kitz/fs, @kitz/env, @kitz/sch, @kitz/core
    0.0.1

  • @kitz/pkg via @kitz/resource, @kitz/fs, @kitz/env, @kitz/core, @kitz/semver
    0.0.1

  • @kitz/monorepo via @kitz/resource, @kitz/fs, @kitz/env, @kitz/core
    0.0.1

  • @kitz/assert via @kitz/core
    0.0.1

Tree
release forecast · 39 packages
├─ primary (35)
│  ├─ @kitz/test ·············· 40 commits  c343f5c feat!: use Schema.toTaggedUnion, migrate oxlint 1.55, fix ephemeral SHA (#133)
│  ├─ @kitz/release ··········· 31 commits  ee01870 feat: harden vetted follow-up workflows
│  ├─ @kitz/paka ·············· 25 commits  c343f5c feat!: use Schema.toTaggedUnion, migrate oxlint 1.55, fix ephemeral SHA (#133)
│  ├─ @kitz/fs ················ 24 commits  c343f5c feat!: use Schema.toTaggedUnion, migrate oxlint 1.55, fix ephemeral SHA (#133)
│  ├─ @kitz/cli ··············· 20 commits  c343f5c feat!: use Schema.toTaggedUnion, migrate oxlint 1.55, fix ephemeral SHA (#133)
│     ... 30 more
│
└─ cascades (4)
├─ @kitz/conf ·············· via @kitz/mod, @kitz/fs, @kitz/env, @kitz/sch, @kitz/core
├─ @kitz/pkg ··············· via @kitz/resource, @kitz/fs, @kitz/env, @kitz/core, @kitz/semver
├─ @kitz/monorepo ·········· via @kitz/resource, @kitz/fs, @kitz/env, @kitz/core
└─ @kitz/assert ············ via @kitz/core

@jasonkuhrt jasonkuhrt changed the title feat(release): harden vetted follow-up workflows feat(bldr, cli, conventional-commits, core, env, fs, git, group, idx, json, num, oak, oxlint-rules, paka, resource, syn, test, tex, tree)!, feat(color, doc-inject, html, http, log, mod, name, npm-registry, release, sch, semver, url, ware), fix(flo, github, kitz): harden vetted follow-up workflows Mar 18, 2026
@jasonkuhrt jasonkuhrt merged commit c297d85 into main Mar 18, 2026
16 of 18 checks passed
@jasonkuhrt jasonkuhrt deleted the codex/release-vetted-followups branch March 18, 2026 23:45
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