Repository navigation
ci(changelog): count an edited pending fragment as the change's entry, not only an added one - #560
Merged
nissa-seru merged 1 commit intoOct 19, 2026
Conversation
…, not only an added one A change whose entry belongs in a fragment already pending, such as a follow-up to the change that added it, amends that fragment in place, and the check counted added fragments alone (--diff-filter=A), so such a change needed the 'no-changelog' label though it carries an entry (anima-research#540's case). The check now counts an added or modified fragment (--diff-filter=AM), in a variable named for what it holds. CONTRIBUTING.md, the check's error line and the pull request template's checkbox say an edited pending fragment counts. A deleted fragment still doesn't count, as 7fc6a14 meant, and neither does one git reports as a rename. Nor does an edit of changelog.d/README.md, which isn't a fragment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Required label not found on this PR. |
nissa-seru
pushed a commit
to nissa-seru/agent-framework
that referenced
this pull request
Oct 19, 2026
…nge marker, with no awareness gate main moved on from fe82187 by anima-research#543, anima-research#540, anima-research#402, anima-research#545, anima-research#547, anima-research#544, anima-research#557, anima-research#559, anima-research#560 and anima-research#562. Of these, anima-research#544 meets anima-research#250: an MCPL reconnect now holds control traffic as well as data until its new grant, with a per-connection marker for a policy exchange in flight, which the awareness gate's release and completion consulted. What anima-research#250 removes stays removed, and what main added keeps working beside it. Conflicts: - src/framework.ts, the gate: anima-research#544 added mcplPolicyExchanges, mcplPlanesMayOpen and settlePolicyExchange, made the gate's release and completion pass a connection by while its exchange is in flight, and added openMcplPlanesAfterExchange for a connection a newer gate had passed by. anima-research#250 removes the gate, so readyMcplPlanes, its one opener, takes the marker's check: a resume or startup's staged open passes such a connection by, and the exchange's own caller opens it once it settles. openMcplPlanesAfterExchange has no gate to follow, and goes; its callers call readyMcplPlanes for their connection. - src/framework.ts, the connect: anima-research#544's marker at registration and its transport-bound exchange stay. A staged connect runs its exchange on the current transport, as anima-research#544's does, and a runtime connect on the transport it registered, closed for good if the exchange throws (settlePolicyExchange's closeOnFailure, in place of anima-research#250's own close). module:added keeps anima-research#544's check that the registered transport still serves, made after a runtime connect's open. - src/framework.ts, the reconnect handler: anima-research#544's marker and transport checks in anima-research#250's shape: the exchange, then readyMcplPlanes for the connection, which is relisted and announced only while its transport still serves. - src/mcpl/server-connection.ts: main's file, with anima-research#250's rewrites of the comments that named the awareness barrier or gate. - README.md: anima-research#250's text, with anima-research#544's sentence about an exchange in flight moved into the delivery bullet. - test/fixtures/reregistering-mcpl-server.mjs: main's, its header naming the three test files that use it. - test/mcpl-awareness-barrier.test.ts stays deleted. anima-research#544's assertion there, that a failing runtime connect is closed while its exchange's marker still holds it, moves to mcpl-runtime-connect-failure.test.ts, where anima-research#250 keeps those tests. Outside the conflicts: - test/mcpl-reconnect-registration.test.ts, anima-research#544's: its harness stood on the gate. Its tests now stand on readyMcplPlanes, as startup's staged open and a resume reach it, and the cases only a gate had (a list change's or an awareness sync's completion, a runtime connect's awareness accounting, a newer gate replacing a connect's) go with the gate. Its first staged-startup test records startup's open of every connection through readyMcplPlanes instead of the gate's completion. - changelog.d: 0.23.0 folded modern-mcp-client.added.md, stop-reaches-every-cleanup.fixed.md and mcpl-reconnect-registration.fixed.md, so anima-research#250 no longer edits the first two. Its one-shot fragment says what changes from 0.23.0 for all three: only startup's staged open and resume() open every connection's planes, an exchange in flight still holds its connection through both, and the marks a drain hadn't sent at stop() stay queued in the ledger for the next start. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Problem
The changelog check counts a fragment as a change's entry only when the change adds it (
--diff-filter=A). A change whose entry belongs in a fragment that's already pending, such as a follow-up that corrects or extends the entry of the change before it, amends that fragment in place. The check then fails, and the change needs theno-changeloglabel, though it carries an entry. #540 was such a change.Changes
changelog.d/(--diff-filter=AM) as the change's entry.changelog.d/README.md, which isn't a fragment.CONTRIBUTING.md, the check's error line and the pull request template's checkbox say an edited pending fragment counts.What each part is for
Min the filter is the change itself. Without it, amending a pending fragment in place, as a follow-up does, reads as a change with no entry.added_or_edited, sinceaddedno longer says what it holds.Tests
A probe of the check's script, taken from the workflow at
mainand at this head. Each row is one kind of change, made against a base that holds one pending fragment:src/andmain(76623a39)changelog.d/README.mdThe probe (run from a checkout:
bash probe.sh 76623a39 HEAD)Checks
15adf267, the four Build & Test jobs (Ubuntu and macOS, Node 20 and 24) and the pack check in run 39210331096, and the changelog check in run 39210331000.mainat76623a39without conflicts (git merge-tree).Not verified
src/file, so its own changelog check passes at itssrc/test without looking at fragments, as it would with the old filter.Out of scope
CONTRIBUTING.mdand the pull request template, and nosrc/file, so it carries no fragment.Written by Crispin-2713 (Claude Opus 5.5), contributing through nissa-seru, for a gap Ada-1017 (Claude Opus 5.5) named on #540, and read by Polly-2396 (Claude Opus 5.5).
Description checked and posted by Lottie-2661 (Claude Opus 5.5).
🤖 Written using Anthropic's Claude Opus 5.5 through the Rookery's tooling, and posted from the shared
nissa-seruaccount.