Skip to content

chore(main): release 2.32.0 - #1925

Merged
Ikalus1988 merged 1 commit into
mainfrom
release-please--branches--main
Sep 20, 2026
Merged

Ikalus1988 merged 1 commit into
mainfrom
release-please--branches--main

Conversation

@Ikalus1988

Copy link
Copy Markdown
Owner

🤖 I have created a release beep boop

2.32.0 (2026-09-20)

Features

  • ci: the docs auto-merge channel gets a way in — a maintainer's label (26783c9)
  • ci: the docs auto-merge channel gets a way in — a maintainer's label (cf84921)
  • deps: the documented dev install installs this repository, not just its dependencies (cde3c56)
  • deps: the documented dev install installs this repository, not just its dependencies (4a3fa3d)
  • lesson: alembic upgrade failure diagnosis (#1553) (#1713) (9b9385a)
  • lesson: alembic upgrade head fails with exit code 255 (f00499e)
  • lesson: alembic upgrade head fails with exit code 255 (b260e92)
  • lesson: Docker multi-stage build OOM-killed with exit code 137 (9bb2954), closes #1460
  • lesson: LLM cost telemetry undercounting (#1672) (#1830) (1380a9c)
  • lesson: LLM god-moding in roleplay (#1650) (#1815) (1415ff2)
  • lesson: Mock Attribute Cascade — adding attribute access breaks existing tests (f8ba2a9)
  • lesson: Mock Attribute Cascade — adding attribute access breaks existing tests (#1905) (df9e39d)
  • lesson: NPC dispatch speaker/location dislocation (#1655) (#1814) (b727653)
  • lesson: Prompt cache prefix invalidation causes location hallucination (eebe4d8)
  • lesson: Prompt cache prefix invalidation causes location hallucination (1bae9ae), closes #1501
  • lesson: Pronoun misidentified as NPC in roleplay extraction (c4d6089), closes #1499
  • lesson: Pronoun misidentified as NPC in roleplay extraction (#1907) (c4d844b)
  • lesson: SSE streaming failures via proxy or client parsing (#1714) (4181fbe)
  • lesson: Vertex AI vs Gemini model ID naming conventions (#1715) (d223abd)
  • scripts: intake coverage checker (#1673) (#1829) (702abc9)
  • site: the home page finally says how to start (#1891) (a3a8fd0)
  • site: the home page finally says how to start (#1891) (d89c7c7)
  • worker: count which key family spends the KV write budget, before moving anything (2a3de37)
  • worker: count which key family spends the KV write budget, before moving anything (52e4e84)

Bug Fixes

  • aliases: evidence points at source files, and a gate keeps it there (4a8b3f5)
  • aliases: evidence points at source files, and a gate keeps it there (ca70788)
  • ci: harden auto-draft tombstone inputs (d8f8cd3)
  • ci: make crash tombstone auto-draft reachable (44dc16a)
  • ci: make crash tombstone auto-draft reachable (#1876) (edb59bf)
  • ci: the branch sync stops freezing CI on the branches it syncs (ec63a9b)
  • ci: the branch sync stops freezing CI on the branches it syncs (cb896ff)
  • ci: the branch sync stops turning contributors' PRs red (7f51d62)
  • ci: the branch sync stops turning contributors' PRs red (8dfcb4b)
  • ci: the docs auto-merge gate stops treating lessons as documentation (b2a0f4c)
  • ci: the docs auto-merge gate stops treating lessons as documentation (e2e26cf)
  • ci: the docs channel could never run for the contributors it exists for (79359ef)
  • ci: the docs channel could never run for the contributors it exists for (a95e2c2)
  • ci: the docs gate re-evaluates when eligibility changes without a push (0113787)
  • ci: the docs gate re-evaluates when eligibility changes without a push (ee8fdfd)
  • ci: the five things the review of today's changes found (a5b08fc)
  • ci: the five things the review of today's changes found (1c3cc51)
  • ci: the npm record step must survive main moving under it (#1917) (607bd22)
  • ci: the sync push really uses the PAT, instead of believing it does (082c7fb)
  • ci: the sync push really uses the PAT, instead of believing it does (ca76a7d)
  • ci: the sync's read-back counts Actions runs, not any check run (afd65e8)
  • ci: the sync's read-back counts Actions runs, not any check run (04e40fd)
  • ci: the two scheduled syncs can read a credential again (b98e835)
  • ci: the two scheduled syncs can read a credential again (4ff292d)
  • cron: the leaderboard snapshot is written only when the leaderboard changes (#1918) (09aee05)
  • d1: add multilingual aliases to SECTION_ALIASES for localized lessons (#1738) (#1799) (3baeee1)
  • guard: exempt test files from markdown leak detection (Rule 3) (#1701) (aa81323)
  • mcp: apply the domain filter to FAQ answers (#1743) (#1800) (f42b604)
  • registry: the publish waits for the PyPI version it points at (7197098)
  • registry: the publish waits for the PyPI version it points at (ac91228)
  • release: the release flow never marked its release PR as tagged, so every release blocked the next (#1924) (0df5777)
  • tests: the two code-scanning alerts this session opened, closed at the source (4032027)
  • tests: the two code-scanning alerts this session opened, closed at the source (75743a8)
  • worker: KV write health becomes global, and the reason names the cause (0c141be)
  • worker: KV write health becomes global, and the reason names the cause (34e9ba4)
  • worker: the KV quota has a second phrasing, and it has no error code (9901093)
  • worker: the KV quota has a second phrasing, and it has no error code (08579da)

Documentation

  • add cross-ref to alembic-upgrade-head-failed (6013162)
  • assess the README against alibaba/open-code-review, and un-orphan zh-CN (c1164b0)
  • assess the README against alibaba/open-code-review, and un-orphan zh-CN (d60d8c5)
  • bounty-notes: misakanet-setup v0.5.1 review and macOS test report (#1761) (97c41bd)
  • field-reports: agent A/B comparative benchmark for issue #1819 (#1842) (ed30b30)
  • field-reports: say what not to paste, and stop claiming there are no reports (5b9aa95)
  • field-reports: say what not to paste, and stop claiming there are no reports (fa61c5a)
  • lessons: correct the mechanism in the token-push lesson, from the two real runs (#1883) (3535d0e)
  • lessons: the two ways today's CI automation was silently inert (#1873) (a6da633)
  • llms: the root llms.txt becomes a pointer, because it was a second copy with no writer (43444e0)
  • llms: the root llms.txt becomes a pointer, because it was a second copy with no writer (96a3a46)
  • maintainer: how the branch sync's pushes work, and the three ways it silently failed (826857f)
  • maintainer: how the branch sync's pushes work, and the three ways it silently failed (78d332d)
  • maintainer: merge the backlog, growth and weakness assessments, and fact-check the review (b1ae79e)
  • maintainer: merge the backlog, growth and weakness assessments, and fact-check the review (e79bb0e)
  • readme: P0 items — License, a Troubleshooting index, and the version drift explained (#1900) (922ff0f)
  • readme: restructure the front page — 759 lines to 298, without losing a fact (9624315)
  • readme: restructure the front page — 759 lines to 298, without losing a fact (26fc0ee)
  • record that the D1-only token was proven sufficient, not assumed (74b329f)
  • record that the D1-only token was proven sufficient, not assumed (6f568a4)
  • the link count in the assessment is post-fix (114 / 40), not pre-fix (6256536)

Tests

  • registry: pin the env-passing contract the review established (7db058f)

CI/CD

  • guard: notice when the PR gate never ran, and start it (#1921) (23a9ee5)
  • name the secret the workflows actually read, and pin the rule that caught me (677e65f)
  • publish and deploy credentials come from the protected environment (23d4e97)
  • publish and deploy credentials come from the protected environment (f96d06e)
  • re-trigger checks after the auto-sync bot merge (b080e4f)
  • release: publishing to npm happens on release — the one human step is approving the run (ad34eee)
  • run the scheduled syncs unattended, with a D1-only credential (7db90f3)
  • run the scheduled syncs unattended, with a D1-only credential (c3fbf55)

This PR was generated with Release Please. See documentation.

Signed-off-by: misakanet-bot <bot@misakanet.dev>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
misakanet-web d3d155e Commit Preview URL

Branch Preview URL
Sep 20 2026, 09:57 AM

@github-actions

Copy link
Copy Markdown
Contributor

PR Genius Analysis

  • Risk Level: medium_risk
  • PR Size: +125/-12 (137 lines, medium)
  • Impact: 12 files changed (docs, repository root, scripts, workers)
  • Rules: 8 core + 5 repo-specific

Checklist

  • ci_passing (PENDING) — checks are still running
  • dco_signoff (PASS) — all commits signed
  • tests_updated (FAIL) — 0 test file(s) changed
  • issue_reference (PASS) — linked issue found

Anti-Patterns Detected

  • missing_tests (medium)

Suggestions

  • Add or update tests for the changed code paths.

@Ikalus1988

Copy link
Copy Markdown
Owner Author

🧾 Audit Report — PR #1925 (d3d155e)

📊 Quality Score

⚠️ Quality score unavailable; continuing with hard gates.

🔏 DCO Audit

✅ All commits signed-off.

📏 PR Size

Metric Value
Files Changed 12
Lines Added 125
⚠️ Warning Warn 12 files changed (threshold: 10)

🔐 Secret Scan

✅ No hardcoded secrets detected.

📦 Dependency Audit

✅ No known vulnerabilities in changed dependency ecosystem(s).

🧪 Test Suite

✅ PASS — 54% coverage

📋 Lesson Schema

✅ All lessons valid.

⚖️ Verdict

✅ All gates passed. Ready for merge.


Scope: full | Triggered by d3d155e | View run

@Ikalus1988
Ikalus1988 merged commit 4c64434 into main Sep 20, 2026
40 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

🎉 Merged — Thank you!

Your contribution has been merged into main.

PR: #1925 — chore(main): release 2.32.0

What's next:

  • Your code is now part of MisakaNet's failure-lesson corpus (now 402 lessons)
  • Feel free to pick up another issue labeled good first issue or status: competition
  • Questions? Ask in this thread or open a Discussion

Welcome to the MisakaNet contributor community! 🧠

@github-actions

Copy link
Copy Markdown
Contributor

✅ Merged! Thanks again, @Ikalus1988.

chore(main): release 2.32.0 (+125 lines, 12 files)

Quick question — did any MisakaNet lesson help you this time?
→ Share feedback

No need to reply if nothing comes to mind. ⚡

zsxh1990 pushed a commit to zsxh1990/MisakaNet that referenced this pull request Sep 21, 2026
…d before it ships

Two things surfaced from the same event: the auto-merge gate merged the **2.32.0 release PR at 09:59 while the
maintainer was still reviewing its changelog**, and that changelog turned out to hold **30 duplicated
entries** — 91 bullet lines covering 61 changes. It shipped as `v2.32.0`, and `release-please` immediately
prepared `2.32.1` (also auto-merged), which had the same defect on its single entry.

**Why the entries doubled.** release-please builds notes from conventional commits, and a merge commit whose
message also carries the conventional subject is counted *next to* the branch commit it merged. This
repository hit that before and fixed it in one place — `pr-checks.yml` dropped `gh pr merge --subject`
"Auto-merge #N: …" for exactly this reason — but the shape came back from two directions: merge commits
created through the API with `commit_title` set to the PR title (mine, for Ikalus1988#1876/Ikalus1988#1799/Ikalus1988#1905/Ikalus1988#1907 and
earlier), and merge commits whose *body* GitHub fills with the PR title (Ikalus1988#1926, merged by the gate with the
default subject). Only `CHANGELOG.md` is affected: the GitHub Release body is generated by GitHub's own
notes and was clean.

**The three parts, in the order they matter:**

1. **Release PRs are excluded from auto-merge.** They are the one artifact a person should read before it
   ships: a version bump plus the changelog that becomes the release notes, prepared by a bot, read by
   nobody. Detected by the `autorelease:` label release-please maintains, with the `release-please--` branch
   name as a fallback for the window before the label lands.
2. **`tests/test_changelog_shape.py`** fails when the newest release section lists the same change twice. It
   is a pre-release gate by design: the release PR is what carries a new section, so it goes red *there*,
   where a human can dedupe before shipping — which is what Ikalus1988#1925 needed.
3. **The shipped changelogs are deduped**: `2.32.0` 91 → 61 entries, `2.32.1` 2 → 1. History is otherwise
   left alone (`2.31.0` still carries 4 duplicated pairs from the earlier era; rewriting released sections
   is not worth it).

Each rule has a guard-the-guard test that mutates a scratch copy, so neither can silently become decoration.

Signed-off-by: Ikalus1988 <136884451+Ikalus1988@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment