scripts/changelog.mjs, the two ledgers, and the 0.1.0-0.1.5 backfill #82
Labels
No labels
area:docs
area:identity
area:ops
area:plugin
area:server
channel:community
channel:direct
channel:owned
channel:press
channel:social
e2ee-constrained
gate:at-ga
gate:pre-ga
marketing
parity
relay:absent
relay:planned
relay:requested
relay:supported
risk:additive
risk:contract
risk:none
usability
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Nectenda/nectenda#82
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #77. Blocked by the merge-path proof (#78).
Why
There is no changelog anywhere, and
docs/releasing.md:134falsely claimsthere is: "Every plugin release bumps
manifest.jsonwith a changelog line".scripts/bump-plugin-version.mjstouchesmanifest.json,versions.jsonandpackage.jsonand writes no changelog. Delete that claim as part of this.What to build
docs/changelog-plugin.mdanddocs/changelog-server.md— the masters, in git.Two ledgers rather than one is forced, not chosen.
build-mirror.mjs'sFORBIDDENscan rejects any staged file containingpackages/server,plan-phaseorpositioning.md, so a combined changelog could not bepublished at all. Run that scan at
cutso bad prose fails while it is beingwritten rather than during a release.
draftreads merged PRs whose merge commit is an ancestor ofHEADand not ofv0.1.5, filters byarea:*label, and takesrelease-notes/<PR>.md, else the## Changelogblock, else the PR title. Writes## Unreleased, every linecarrying its PR number. Gate on the commit, never on a close or merge date —
those diverge from shipping in both directions with several sessions in flight.
It also reports orphans: commits in range reachable from no counted PR.
Branch protection should make that set empty, so a non-empty one means something
bypassed the workflow, which is worth knowing regardless.
Reading this needs no API.
tea api404s on everything here, includingtea api get user, but these work and return full bodies:cutstamps the heading and drops the PR numbers. The draft is a file in theworktree, edited like any other file — that is the review window, and it
needs no bespoke UI.
The LLM is a checker, not an author
draft --assistmay propose prose for a thin note, as suggestions sittingbeside the sourced list.
cutchecks coverage. The documented risk is that anLLM "can both omit changes and add ones that don't exist, both breaking the
changelog as a source of truth" — a checker cannot invent an entry, and a false
positive costs a glance.
Backfill 0.1.0-0.1.5
The material is in the release commits' own subjects, e.g.
79b78f9 Release 0.1.1: the first-run pane, and a name that cannot leave its folder.Nothing invented: an entry nobody can trace to a commit does not go in.