Skip to content

Cut v3.17.0 release (dogfood: version-bump handler)#206

Merged
Jason-Vaughan merged 1 commit into
mainfrom
chore/release-v3.17.0
May 23, 2026
Merged

Cut v3.17.0 release (dogfood: version-bump handler)#206
Jason-Vaughan merged 1 commit into
mainfrom
chore/release-v3.17.0

Conversation

@Jason-Vaughan
Copy link
Copy Markdown
Owner

What

Cuts the v3.17.0 release using the new version-bump handler shipped in PR #202 — programmatic dogfood (handler invoked via node -e, staged writes flushed via commit._flushStagedWrites).

Why

The [Unreleased] section had accumulated thirteen ### Added + one ### Changed + one ### Fixed entries across the #139 series + #191 hotfix + #200 ai-content prompts + #202 version-bump handler — substantial release surface, ready to cut. And the new handler we just shipped is the obvious tool to do it.

How

Single Node invocation:

const versionBump = require('./lib/wrap-steps/version-bump');
const commit = require('./lib/wrap-steps/commit');
const ctx = {
  project: { name: 'TangleClaw-v3', path: process.cwd() },
  step: { id: 'version-bump', kind: 'version-bump' },
  staged: {},
  options: {}
};
const result = await versionBump.run(ctx);  // → ok:true, status:'done'
commit._flushStagedWrites(ctx.staged);       // → writes version.json + CHANGELOG.md

Handler output:

oldVersion: 3.16.2
newVersion: 3.17.0
bumpLevel:  minor (subsections detected: Changed, Fixed, Added)
detail:     3.16.2 → 3.17.0 (minor)

One manual edit on top of the handler output: the dated heading came out as 2026-05-23 (UTC) but every prior CHANGELOG entry uses local-PT dates; patched to 2026-05-22 to match the convention. Filed as #205 (handler should use local-zoned dates, not UTC) — future releases pick up the fix when that lands.

v3.17.0 release-notes summary (full text in CHANGELOG)

Test plan

  • test/changelog-structure.test.js (9 tests) passes against the bumped CHANGELOG. Release-heading sequence, no duplicates, descending semver, parseable date format all intact.
  • Handler output: real run produced status: 'done', both staged entries with correct bumpLevel: 'minor' and oldVersion: '3.16.2' / newVersion: '3.17.0' metadata.
  • Bytes-on-disk: post-flush, version.json is {"version": "3.17.0"} + trailing newline; CHANGELOG.md [Unreleased] retained empty at top, full prior content moved under ## [3.17.0] - 2026-05-22, ## [3.16.2] - 2026-05-13 and prior preserved byte-for-byte.

Post-merge follow-ups

Out of scope

Eats its own dogfood: invokes the new `lib/wrap-steps/version-bump.js`
handler (shipped in PR #202 a few hours ago) programmatically against
this repo, then flushes the two staged writes via the same
`commit._flushStagedWrites` the V2 wrap pipeline would use.

Handler output:

  - oldVersion: 3.16.2
  - newVersion: 3.17.0
  - bumpLevel: minor (subsections: Changed, Fixed, Added)
  - detail: 3.16.2 → 3.17.0 (minor)

Highlights of this release (full notes in CHANGELOG.md):

- **#139 Methodology-aware single-button session wrap (series closed).**
  12 chunks across the May 14–19 window. `wrapV2: true` is now the
  default. Full server-side pipeline (`pr-check` → `critic-check` →
  `version-bump` → `ai-content` × 3 → `priming-roll` → `commit`)
  replaces the legacy NL-prompt-via-tmux flow. ADR 0002 is the
  durable home.

- **Open-queue #2 (PR #200): prawduct ai-content prompts populated.**
  Three placeholder steps (`changelog-update` / `learnings-capture` /
  `memory-update`) gain real prompts. V2 wraps now produce CHANGELOG
  entries / `learnings.md` entries / MEMORY.md session blocks
  instead of three SKIPPED rows.

- **Open-queue #3 (PR #202): real version-bump handler.** The handler
  that cut THIS release. Last #139-era no-op stub replaced.

- **PR #191: tmux env-ordering hotfix.** Engine `launch.env` now
  reaches the spawned engine process (was silently dropped pre-fix).
  Surfaced via Aider / LiteLLM `OPENAI_API_KEY` integration.

- **#168 CHANGELOG structural-invariants test.** Pinned post-PR #166
  regression class.

CHANGELOG `[Unreleased]` heading retained at the top with an empty
body (per the handler's promote contract) so the next session has
somewhere to accumulate entries.

Banner emoji NOT auto-injected — to be added manually as `> 🚀` (this
is a feature release, not a bug-fix) in a follow-on commit or
release-notes edit per the project's banner convention.

The UTC-vs-local-date bug in the version-bump handler (surfaced
cutting this release: handler stamped 2026-05-23 in UTC; manually
patched to 2026-05-22 to match the local-zoned convention used by
every prior CHANGELOG entry) is filed as #205. Future releases pick
up the fix when that lands.
@Jason-Vaughan Jason-Vaughan added the documentation Improvements or additions to documentation label May 23, 2026
@Jason-Vaughan Jason-Vaughan merged commit 55a6d37 into main May 23, 2026
@Jason-Vaughan Jason-Vaughan deleted the chore/release-v3.17.0 branch May 23, 2026 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant