From c99a4af1f14dce058e100dd56b62f6173d26d3e4 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Sun, 10 May 2026 10:58:39 -0700 Subject: [PATCH] chore: regenerate llms-full.txt for v0.31.4.1 doc edits The build-llms regen-drift guard caught that llms-full.txt was stale relative to the CHANGELOG + CLAUDE.md edits in the prior commit. Per CLAUDE.md the bundle is auto-derived: bump VERSION/CHANGELOG/CLAUDE.md, then run `bun run build:llms`. Did the second part now. llms.txt unchanged (it's just the curated index). Only llms-full.txt picks up the v0.31.4.1 CHANGELOG entry and the new "Version format is mandatory" section in CLAUDE.md. Co-Authored-By: Claude Opus 4.7 (1M context) --- llms-full.txt | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/llms-full.txt b/llms-full.txt index bec39df6b..14b2d9ccc 100644 --- a/llms-full.txt +++ b/llms-full.txt @@ -875,15 +875,26 @@ sync. `/ship` enforces this via Step 12's idempotency check (VERSION vs package.json drift), but the canonical list lives here so future runs and the auto-update agent know where to look. +**Version format is mandatory: `MAJOR.MINOR.PATCH.MICRO` (four numeric +segments, dot-separated, no leading `v`).** Every new release MUST use the +4-segment form. The `.MICRO` slot is the dot-suffix follow-up channel: when +a release ships its commit subject ahead of its VERSION bump (e.g. PR #795 +landing as `v0.31.4` without bumping the file), the corrective ship lands +as `0.31.4.1` rather than churning the patch number to `0.31.5`. Suffixes +like `-fixwave` are still allowed as needed (`0.31.1.1-fixwave`), but the +four numeric segments are required first. Historical 3-segment versions +(`0.31.3`, `0.22.1`) remain valid in `git log` and migration filenames +(`skills/migrations/v0.21.0.md`); do NOT rewrite them. Going forward only. + **Required (every release must update all five):** | File | What lives there | Format | |---|---|---| -| `VERSION` | The single source of truth. Read first by `/ship`, the binary, and CI version-gate. | Bare 4-digit string `MAJOR.MINOR.PATCH.MICRO` (e.g. `0.22.1`), no leading `v`, no trailing newline-sensitivity issues. | -| `package.json` | Bun/npm package version. `gbrain --version` reads it via the compiled binary's bundled package metadata. CI version-gate cross-checks this against `VERSION` and fails if they drift. | `"version": "0.22.1"` | -| `CHANGELOG.md` | Top entry header `## [0.22.1] - YYYY-MM-DD` plus the "To take advantage of v0.22.1" block. | Standard Keep-a-Changelog header. | -| `TODOS.md` | Any TODO entries that mention "follow-up from vX.Y.Z" use the version of the release that filed them. Update only when filing NEW follow-up TODOs. | Inline `vX.Y.Z` references in TODO bodies. | -| `CLAUDE.md` | The Key Files section's per-file annotations carry `vX.Y.Z (#NNN)` tags noting which release introduced a behavior. Update whenever a wave's annotations get folded in. | Inline `vX.Y.Z (#NNN, contributed by @user)` references. | +| `VERSION` | The single source of truth. Read first by `/ship`, the binary, and CI version-gate. | Bare 4-segment string `MAJOR.MINOR.PATCH.MICRO` (e.g. `0.31.4.1`), no leading `v`. | +| `package.json` | Bun/npm package version. `gbrain --version` reads it via the compiled binary's bundled package metadata. CI version-gate cross-checks this against `VERSION` and fails if they drift. | `"version": "0.31.4.1"` | +| `CHANGELOG.md` | Top entry header `## [0.31.4.1] - YYYY-MM-DD` plus the "To take advantage of v0.31.4.1" block. | Standard Keep-a-Changelog header. | +| `TODOS.md` | Any TODO entries that mention "follow-up from vX.Y.Z.W" use the version of the release that filed them. Update only when filing NEW follow-up TODOs. | Inline `vX.Y.Z.W` references in TODO bodies. | +| `CLAUDE.md` | The Key Files section's per-file annotations carry `vX.Y.Z.W (#NNN)` tags noting which release introduced a behavior. Update whenever a wave's annotations get folded in. | Inline `vX.Y.Z.W (#NNN, contributed by @user)` references. | **Auto-derived (no manual edit; refreshed by their own commands):**