SIGN IN SIGN UP

ci: make local plugin release notes resilient to large releases (#2311)

## Summary

- aggregate local-plugin commits into deterministic user-facing release
topics while preserving every source ref
- align standalone and weekly release-note item limits with the Doc
Agent dynamic 12-18 policy
- handle net-zero reverts and numeric hexadecimal commit refs correctly
- make the read-only offline preview compact large evidence sets without
truncating required refs
- add v2.0.18 and future high-commit regression coverage

## Why

The v2.0.18 release had 29 important local-plugin commits. The old
drafting path produced 12 items that referenced only 12 of those
commits, so strict evidence validation stopped the workflow before npm,
tag, and GitHub Release side effects.

The Doc Agent already supports a dynamic item budget, but these
caller-side MemOS changes had not been committed or submitted. This PR
makes both sides use the same rule and groups related commits before
drafting, so concise notes can still retain complete evidence coverage.

## Policy

- item budget: `min(18, max(12, ceil(required_count / 2)))`
- 29 required commits therefore allow up to 15 items
- related commits may share one release item, but all of their
`source_refs` are preserved
- missing or invented refs, uncovered important commits, mixed-language
copy, duplicate copy, and invalid release binding still fail closed

## Safety

- no workflow permissions, secrets, npm publish behavior, tag behavior,
or GitHub Release ordering changed
- no package runtime source changed
- both the weekly MemOS release path and standalone local-plugin path
use the same evidence policy
- small releases retain the existing 12-item limit
- the PR dry-run fallback remains side-effect-free and now preserves
complete evidence instead of slicing to 10 items

## Verification

- `node --check` passed for both changed scripts
- `git diff --check` passed
- full local-plugin release automation suite: 162/162 tests passed
- GitHub `MemOS Release — Pre-Merge Dry Run` passed in run 33365598362
- real inspection result: 28 effective important commits, 14 items,
28/28 covered refs, 0 validation issues
Z
zhaxi committed
bc9ccd1ec7b82a9c7d00f039103915980358558e
Committed by GitHub <noreply@github.com> on 8/31/2026, 12:34:01 PM