LearnNewsExamplesServices
Frontmatter
id12723
titleRefresh v13 release-note appendix evidence
stateClosed
labels
documentationenhancementai
assigneesneo-gpt
createdAtJun 8, 2026, 4:48 AM
updatedAtJun 8, 2026, 10:08 AM
githubUrlhttps://github.com/neomjs/neo/issues/12723
authorneo-gpt
commentsCount0
parentIssue12696
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJun 8, 2026, 10:08 AM

Refresh v13 release-note appendix evidence

Closed v13.0.0/archive-v13-0-0-chunk-17 documentationenhancementai
neo-gpt
neo-gpt commented on Jun 8, 2026, 4:48 AM

Context

The v13 release-note artifact already has the appendix generator path from predecessor #12699, but the evidence snapshot in resources/content/release-notes/v13.0.0.md is now stale. The current file still says the 2026-06-07 live counts were 1,228 merged PRs and 1,629 closed issues, while a live GitHub GraphQL count on 2026-06-08T02:46Z reports 1,237 merged PRs and 1,639 closed issues since the v12.1.0 boundary.

This is a follow-up, not a duplicate of #12699: #12699 created the appendix mechanism and documented the command; this ticket refreshes the release-note evidence that consumes that mechanism.

Pre-creation evidence on 2026-06-08T02:48:11Z:

  • Live latest-open sweep: checked latest 20 open issues with number, title, author, labels, and URL. Found #12696 plus active KB/MX/grid/backlog items, but no open v13 appendix refresh or stale-count leaf.
  • Targeted live sweeps: open v13 release appendix returned no issues; closed v13 release appendix returned #12699 and #12698; open Full Changelog Strategy returned no issues.
  • Exact local sweep for v13.*appendix, appendix.*v13, release.*appendix, Full Changelog Strategy, release counts, and analyzeClosedSinceRelease found the current v13 release-note placeholder plus historical analyzer references, but no open follow-up.
  • Semantic KB ticket sweep for v13 release appendix refresh counts full changelog release notes generated appendix ticket found no v13 duplicate and surfaced only older release-note precedents.
  • Project pre-flight: attach to Project 12, the v13 release board.

The Problem

The v13 release is moving faster than the release-note evidence. That is expected during the final push, but the current artifact mixes three states:

  1. A strong curated narrative body.
  2. A reproducible appendix generator from #12699.
  3. Stale count evidence and a Full Changelog Strategy placeholder that still reads like future work.

If this is left until the release cut, the final PR risks either stale public numbers or a late, hard-to-review changelog churn block.

The Architectural Reality

The release-note source is resources/content/release-notes/v13.0.0.md. The appendix generator is buildScripts/release/analyzeClosedSinceRelease.mjs, which scans recursive local mirrors under resources/content/issues/**/*.md and resources/content/pulls/**/*.md.

Current falsifying checks:

  • node buildScripts/release/analyzeClosedSinceRelease.mjs 2026-03-27 --format markdown --include-items --output /private/tmp/v13-release-appendix.md generated a 2,933-line local appendix snapshot.
  • The generated local snapshot reports 1,228 merged PRs and 1,587 closed issues from the local mirror.
  • Live GitHub GraphQL reports 1,237 merged PRs with query repo:neomjs/neo is:pr is:merged merged:>=2026-03-27.
  • Live GitHub GraphQL reports 1,639 closed issues with query repo:neomjs/neo is:issue is:closed closed:>=2026-03-27.

The live/local split is real and should be stated directly; sync_all may be stale or intentionally avoided while the workflow sync performance fixes settle.

The Fix

Update resources/content/release-notes/v13.0.0.md so the appendix section becomes a release-ready evidence snapshot rather than a future strategy placeholder:

  • Rename or reshape Full Changelog Strategy into a current appendix/evidence section.
  • Refresh live counts to the current GitHub GraphQL evidence.
  • Preserve the local appendix count separately and explain the live/local freshness boundary.
  • Keep exhaustive 2,933-line output out of the narrative body; include the rerunnable command and the summary tables/rollups that make the scale navigable.
  • Leave final publishedAt, isDraft, and the very last release-cut count refresh to the release cut checklist.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
v13 release-note appendix section #12696 / #12699 / resources/content/release-notes/v13.0.0.md Present current evidence, not only a future strategy Keep command-only recipe if live counts cannot be refreshed Same release-note file GitHub GraphQL counts plus local appendix command output
live count evidence GitHub GraphQL Search State merged PR and closed issue counts with exact query boundary Mark live check unavailable rather than inventing counts Same release-note file issueCount responses for PR and issue searches
local appendix evidence buildScripts/release/analyzeClosedSinceRelease.mjs Preserve local mirror counts and grouped rollups with freshness caveat Re-run after sync if local mirror is intentionally refreshed Same release-note file Generated /private/tmp/v13-release-appendix.md snapshot
exhaustive history #12699 generator contract Keep the full PR/issue tables generated/reproducible, not hand-maintained in prose Link the command and avoid inlining all rows Same release-note file 2,933-line generated appendix proof

Decision Record impact

Aligned with ADR 0004. This work consumes the recursive resources/content/ mirror and must not reintroduce flat-path assumptions.

Acceptance Criteria

  • AC1: resources/content/release-notes/v13.0.0.md no longer presents the appendix path only as a future strategy; it contains a current appendix/evidence snapshot section.
  • AC2: Live merged-PR and closed-issue counts are refreshed from GitHub GraphQL and state the v12.1.0 cutoff boundary.
  • AC3: Local appendix counts remain separate from live counts, with a clear freshness caveat.
  • AC4: The rerunnable appendix command remains present and does not require shell redirection.
  • AC5: The exhaustive 2,933-line appendix output is not inlined into the curated narrative body.
  • AC6: Release-cut-only work remains explicit: publishedAt, isDraft, and final count refresh are not prematurely finalized.
  • AC7: Public-surface hygiene check confirms no private/client material and no unverified count claims.

Out of Scope

  • Changing the appendix generator itself; that was #12699.
  • Rewriting the v13 narrative arc or hero war stories.
  • Finalizing Body/Grid release wording after the grid lanes converge.
  • Publishing the release or running buildScripts/release/publish.mjs.
  • Authoring the future release-notes skill; #10321 remains post-artifact.

Avoided Traps

  • Rejected: creating a duplicate appendix-generation ticket after finding closed #12699.
  • Rejected: inlining the full generated appendix into the narrative body. The generated snapshot is 2,933 lines and would drown the story.
  • Rejected: pretending local mirror counts are live counts. The difference is currently material.
  • Rejected: flipping final release metadata before the actual release cut.

Related

  • Parent epic: #12696
  • Predecessor appendix mechanism: #12699
  • Release-note spine: #12695
  • War-story feed: #12698
  • Future release-notes skill: #10321

Origin Session ID: e8f07ef9-ef7e-4815-8ff4-7abe13720621

Retrieval Hint: v13 release note appendix evidence refresh stale counts GraphQL issueCount local appendix snapshot analyzeClosedSinceRelease

tobiu referenced in commit 3e46783 - "docs(release): refresh v13 appendix evidence (#12723) (#12724)" on Jun 8, 2026, 10:08 AM
tobiu closed this issue on Jun 8, 2026, 10:08 AM