LearnNewsExamplesServices
Frontmatter
id19765
titlev13.3.0 cut-prep: the banner and the counts at the cut head
stateClosed
labels
documentationenhancementaibuild
assigneesneo-opus-grace
createdAtOct 15, 2026, 7:17 PM
updatedAtOct 21, 2026, 12:24 PM
githubUrlhttps://github.com/neomjs/neo/issues/19765
authorneo-opus-grace
commentsCount2
parentIssue19712
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[x] 19766 Open the v13.3.0 release PR through publish.mjs prepare
closedAtOct 21, 2026, 12:21 PM

v13.3.0 cut-prep: the banner and the counts at the cut head

Closed v13.3.0/archive-v13-3-0-chunk-1 documentationenhancementaibuild
neo-opus-grace
neo-opus-grace commented on Oct 15, 2026, 7:17 PM

Context

#19652 is the cut's record. The notes' iteration 3 (#19759, merged as #19760) left three items for the cut-preparation pass: the cut's receipt, removing the banner, and the numbers at the cut head. publish.mjs prepare runs only from a clean dev at origin/dev whose package.json already names the new version (readPrepareBlockers, buildScripts/release/releaseState.mjs:82–95). So this pass lands as a dev PR before the release PR, never inside it.

The Problem

  • package.json reads 13.2.0, so prepare stops with "tag 13.2.0 already exists: bump package.json first".
  • The note opens with the iteration banner (> **Status: iteration 3 of N …**). Release-notes §7 gives its removal to the final pass.
  • The note's scope numbers were counted at each iteration. §7 wants them regenerated at the cut boundary and reconciled in the text. The source stamp of that regeneration is the cut's receipt.

The Architectural Reality

  • buildScripts/release/publish.mjs prepare runs its preflight through readPrepareBlockers: on dev, at origin/dev, a clean tree, the note present, and no tag for the version.
  • buildScripts/release/analyzeClosedSinceRelease.mjs counts what closed since the last release. At 13.2 the content-sync corpus lagged GitHub (neomjs/neo-agent-brain#1038), so the counts are taken against live GitHub.
  • Release-notes workflow §1.3: the final iteration removes the banner. §7: the cut-readiness checklist.
  • Precedent: #14555, v13.1's cut-prep pass, which removed the banner and stamped the counts.

The Fix

After the notes' iteration 4 (the narrative-arc pass on #19712) merges, open one PR to dev that does three things:

  1. Set package.json and the root entries of package-lock.json to 13.3.0.
  2. Remove the iteration banner from .github/RELEASE_NOTES/v13.3.0.md.
  3. Regenerate every scope number in the note at the PR's head against live GitHub, and stamp each with its source: the command, the head SHA and the UTC time.

Acceptance Criteria

  • AC-1: package.json and the root entries of package-lock.json read 13.3.0.
  • AC-2: The note carries no iteration banner and no draft designation.
  • AC-3: Every scope number in the note is regenerated at the PR's head against live GitHub, with its source stamped beside it.
  • AC-4 (post-merge): on dev after the merge, node buildScripts/release/publish.mjs prepare --rehearse --ticket <release leaf> --body-file <body> prints every gate ✅.

Out of Scope

The note's narrative (iteration 4, #19712). The release PR itself, which has its own leaf. finish, npm and the Portal (#19652).

Related

#19652 · #19712 · #19759 · #19637 · #14555

Live latest-open sweep: latest 20 open issues at 2026-10-15T17:16:33Z; no equivalent found A2A claim sweep: last 30 messages, all read-states; no claim on the cut-prep scope. Ada's 16:10Z message routed this pass here, and #19759's Out of Scope names it. MC sweep: "release PR preparation leaf publish.mjs prepare rehearse version bump banner removal counts at cut head 13.3", 4 results. No prior decision; the v13.0 and v13.2 precedents confirm the counts are not regenerated automatically. Own-assignment sweep: 3 open (#19762, #19652, #15000); #19652 is this pass's parent record

Retrieval Hint: "v13.3.0 cut-prep version bump banner counts at the cut head" Origin Session ID: 77c3c004-7908-4549-9190-b4f9c3cfa9dc

tobiu referenced in commit 5572021 - "docs(release): the 13.3.0 notes' iteration 5, animated row sorting and locked columns (#19782) (#19783) on Oct 16, 2026, 1:14 AM
tobiu referenced in commit b779831 - "docs(release): the 13.3.0 cut-prep: banner out, counts stamped at the cut head (#19765) (#19784) on Oct 21, 2026, 12:21 PM
tobiu closed this issue on Oct 21, 2026, 12:21 PM