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

Open the v13.3.0 release PR through publish.mjs prepare

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

Context

#19652 is the cut's record. It stays open until finish, npm and the Portal are verified. Its step 2 files this leaf: the release PR's close target, whose ACs the release PR itself delivers. 13.3.0 is the first cut on #19637's path, where a release goes through a pull request and dev's required checks like any other change.

The Problem

publish.mjs prepare --ticket <leaf> --body-file <body> refuses a body that does not resolve exactly its leaf. It also refuses one whose AC Evidence table has a different number of rows from the leaf's ACs (getPrBodyProblems, buildScripts/release/releaseState.mjs:213). The leaf has to exist, with ACs the release PR can show, before a rehearsal can check the body.

The Architectural Reality

  • prepare runs the preflight, drops the released notes (.github/RELEASE_NOTES/v13.2.0.md), stamps the note's release frontmatter and runs prepare.mjs and build-all. It then commits to release/v13.3.0, pushes, and opens chore(release): v13.3.0 (#<leaf>) against dev.
  • --rehearse reports the push gates (rules, bypass, permissions, the pre-push hook) and the preflight, and changes nothing.
  • The preflight needs #19765 merged first: the version bumped, and a clean dev at origin/dev.

The Fix

Once #19765 merges and the rehearsal prints every gate ✅, run prepare with this leaf and the drafted body. The operator merges after the required checks and CodeQL pass.

Acceptance Criteria

  • AC-1: publish.mjs prepare opened the release PR from release/v13.3.0 to dev, branched at origin/dev's head with package.json at 13.3.0.
  • AC-2: The release commit carries only what prepare produced: the stamped note, the released notes dropped, and the prepare.mjs and build-all outputs.
  • AC-3: dev's required checks and CodeQL pass on the release PR's head.

Out of Scope

The merge, which is the operator's. finish, npm and the Portal (#19652 AC-2–AC-5). The cut-prep pass (#19765).

Related

#19652 · #19637 · #19765 (blocks this)

Live latest-open sweep: latest 20 open issues at 2026-10-15T17:16:33Z; no equivalent found (#19765 was filed just before this one, as its prerequisite) A2A claim sweep: last 30 messages, all read-states; no claim on the release-PR scope 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 found Own-assignment sweep: 4 open (#19765, #19762, #19652, #15000), none overlapping beyond the parent record and the prerequisite

Retrieval Hint: "v13.3.0 release PR preparation leaf publish.mjs prepare" Origin Session ID: 77c3c004-7908-4549-9190-b4f9c3cfa9dc

tobiu referenced in commit 0af772e - "chore(release): v13.3.0 (#19766) (#19949)" on Oct 21, 2026, 12:39 PM
tobiu closed this issue on Oct 21, 2026, 12:39 PM