changelog: restore curated bar, drop process disclaimer, let bot PRs self-land#83
Merged
Conversation
The changelog page's "Recent updates" list only shows genuinely major features from now on — new capabilities, new languages, meaningful fixes to something visibly broken. Smaller fixes and internal changes still ship (see the pull request history), they just don't clutter the highlights page. The page also no longer explains its own machinery to readers; it just shows what changed. - A merged PR now needs both a "## What this means for you" section AND the new `changelog:major` label to earn a changelog entry — presence of the section alone stopped being a significance signal once every PR started carrying one by convention. Documented in CONTRIBUTING.md. - Removed the "These lines come from the descriptions of merged code changes and stay in English for now" line and its i18n key — the existing `.chg-auto` content-zone carve-out already keeps the hermetic stray-English guard green without it (verified: all ten shipping languages still pass on changelog.html). - Re-curated the existing entries under the new bar (33 -> fewer), and fixed a bullet-list-formatted marker section leaking a literal "-" into the rendered text. - The automated-update workflow now dispatches CI directly on its own bot branch (workflow_dispatch, not pull_request) and waits for it before enqueuing the PR — routes around GitHub's same-repo approval gate for GITHUB_TOKEN-authored PRs, which is why the bot's PRs have needed a maintainer's manual click to land. Tests: fixture-anchored coverage for the label gate (major/minor/internal PRs, real PR bodies) and the bullet-marker fix; full standards + a11y + i18n guard suite green; reading-level ratchet tightened to the new, lower grade.
…le CI run The dispatched ci.yml run also executes the 'functional' job (Playwright against live APIs, workflow_dispatch-only, documented as flaky) since it's not gated to pull_request. That job isn't in main's required-checks list, so waiting on the whole run's pass/fail (gh run watch) would let an unrelated flake there block an otherwise-mergeable bot PR. Polling the PR's own statusCheckRollup for the four required check names directly targets what actually gates the merge queue.
github-actions Bot
added a commit
that referenced
this pull request
Jul 20, 2026
…laimer, let bot PRs self-land
This was referenced Jul 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two changes to the same changelog pipeline, per the site owner's direction:
near-mirror of the merged-PR log — every PR that carried a "What this means for you"
section got an entry, regardless of significance, including a few whose own harvested
text admitted they didn't belong ("No visible change to the site", "Not user-facing").
A merged PR now needs BOTH that section AND a new
changelog:majorlabel to earn anentry; most PRs should not carry the label. Documented in
CONTRIBUTING.md. Existingentries were re-curated under the new bar (33 → 22) — nothing is lost, the excluded ones
just live on in the PR history instead of the highlights page.
descriptions of merged code changes and stay in English for now") and its i18n key. The
existing content-zone carve-out for this section already keeps the hermetic translation
guard green on all ten shipping languages without it — verified directly, not assumed.
merge queue, but that call was failing silently: GitHub requires a maintainer to manually
approve workflow runs on PRs authored by the bot's own token, even on a same-repo branch,
so the four required status checks never actually ran on the bot PR's head commit and it
sat blocked. The workflow now dispatches CI directly on its own branch (a trigger type
that bypasses that approval gate) and waits for the specific required checks — not the
whole CI run, since one job in there only runs on this trigger type and is flaky — before
enqueuing.
What this means for you
The changelog page now shows only the changes that matter to you: new features, new
languages, and real fixes to things that were visibly broken. Smaller changes stay off the
page. It no longer explains its own inner workings to you — it just tells you what's new.
It also publishes itself now. No one has to click a button to make it live.
Validation
PRs, using real merged-PR bodies from this repo) and the bullet-marker extraction fix.
node --testsuite (276 tests), all standards gates, the hermetic accessibility (axe)and stray-English/RTL guards across all six pages and all ten shipping languages, and the
reading-level ratchet — all green locally. The ratchet was re-measured and tightened to
changelog.html's new (lower) grade as the final step.
commit had zero check runs and
mergeStateStatus: BLOCKED, and every one of its passing CIruns was manually re-triggered by a maintainer. The new polling logic was exercised against
that PR's real (now-resolved) check-rollup data.
mainmid-session to pick up two PRs that landed concurrently (includingthe very bot PR this change fixes), and re-applied the curation/hash/baseline work each time.