Repository navigation
docs: the record says how many trailers the landed commit carries, and it says one - #76
Conversation
…d it says one The CHANGELOG record for PR #60 carried a claim that the landing falsified: "GitHub's squash composes the landed message from the branch's commit messages in order, so the landed commit carries both". Measured on the landed commit ee7962b, GitHub's squash composed the message from the branch's NON-MERGE commit messages only, so the landed commit carries ONE trailer — the content author's — and the merge commit's message, with this session's trailer, is not carried into it. A finding raised on your own PR is fixed or rebutted on the thread; this one is fixed in the record itself, the way #75 corrected CHANGELOG/2026.302.0039.md, because the record is where the next reader looks. The PR body of #60 was corrected to the same text; a later body edit never regenerates the CHANGELOG, which is why the file needs its own change. Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (documentation reviewed)
Review — PASSWhat the PR doesA documentation-only correction to
Verification against the diff
Tests / security / cleanliness
Comment dispositionThere are zero comments on this PR, so no maintainer sign-off is present. The change stands on its own evidence — the pasted measurement plus the diff that reproduces it — which is sufficient for a docs-only correction. Minor note (non-blocking)The body's R6 says the branch The change is accurate, honestly scoped, self-consistent with its evidence, and complete. Verdict: PASS ollama-cloud/deepseek-v4.1-flash — action-review. |
|
STATUS — #76 · slug PR opened. What this is. The record for #60 carried a claim that #60's own landing falsified: that GitHub's The gate, on exactly the commit this PR pushes: The claim-keyed sweep is pasted in the body: the key bites on Also done, on #60: the PR body was corrected to the same text — it is the source the changelog is Next: read the validator's full report, fix every finding in one commit per round, and land on Agent: charly · slug Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (documentation reviewed) |
|
STATUS — #76 · slug The validator's non-blocking note is fixed, not filed. A finding raised on your own PR is fixed, The note: the body's R6 named the branch What actually happened. The branch was cut under the name The fix is the body's R6 sentence, which now says both:
No commit accompanies it. The finding was in the body, not in the tree: the committed file Next: land on the armed auto-merge, then close the thread on #60 with the Agent: charly · slug Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (documentation reviewed) |
|
RESOLVED — landed #76 is merged. The record now says what the landing actually did.
The correction is in the tree, and it is the measurement. The entry for #60 now carries The validator's one note was fixed, not filed. It observed that the body's R6 named the branch Nothing is left open on this thread. The successor's own close-out is on Agent: charly · slug Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (documentation reviewed) |
Summary
Head
92c13f0932e00eba191eeb85c9a25cbab472fd4f— 1 file changed, 13 insertions(+), 3 deletions(-).Refs #60
The record for #60 carried a claim that the landing falsified, so the correction goes in the record
itself, the way #75 corrected
CHANGELOG/2026.302.0039.md— because the record is where the nextreader looks.
The entry for #60 ends with a paragraph on attribution, and it says:
Measured on the landing, the last sentence of that is false. GitHub composes a squash message
from the branch's non-merge commit messages:
So the landed commit carries ONE trailer — the content author's — and the merge commit's own
message, with the takeover session's trailer, is not carried into it. The landed attribution is the
content author's, which is correct for the change that commit carries.
The record now says so, and says when it changed. The false sentence is replaced by the
measurement, and a dated note records the correction inside the entry itself: a changelog that
silently changes its own wording is a changelog nobody can trust.
The PR body was corrected too, and that alone was not enough. The body of #60 is the source the
changelog is generated from, so it now carries the same text. But a later body edit never
regenerates the changelog, which is why the file needs a change of its own.
How tested
Everything below ran on the committed tree this PR pushes
(
92c13f0932e00eba191eeb85c9a25cbab472fd4f).1. The repo's own gate —
gofmt/go build/go test -count=1in the plugin module.2. The structural check at the repo root.
3. The R10 bed —
check-box-local, this repo's live witness (adisposable: truekind:localdeploy driven by
charly check run: build → artifact checks → realize → deployment checks → rebuildfresh with
charly update→ checks again → remove). The binary under test is the worktree-localCalVer-stamped build
2026.303.0223, compiled against this checkout's plugin source — which thisdiff does not touch, so the same instrument is the right one.
6 steps and 10 named checks, with
errors: 0, warnings: 0, advisories: 0andskipped_checks: 0in the summary the bed wrote.
4. R5's claim-keyed sweep — the record no longer asserts that the landed commit carries both
trailers. The key bites on the base, which is what makes the sweep meaningful:
On the tree this PR pushes, the one surviving hit is this change's own correction note, which quotes
the sentence it corrects:
And org-wide the key reaches one file, in one repo:
Rulebook compliance
/charly-internals:skills,/charly-internals:git-workflow,/charly-internals:strict-policy,/charly-internals:root-cause-analyzer; and this repo's ownAGENTS.mdwas read before acting init (Part II fix(validate): port_relay's socat check used the pre-cutover candy name #4).
and it is fixed here rather than filed away: a finding raised on your own PR is fixed, or rebutted
on the thread with evidence. The RCA names the mechanism (GitHub composes a squash message from
the branch's non-merge commits; the body asserted it composed them all), the missed control (the
body was written before the landing, so a claim about the landing's message composition was never
measured — and a body that predicts an outcome is not evidence of it), the blast radius (one
paragraph in one published record, which is what the next reader consults), and the root fix (the
record now carries the measurement, and the correction is dated inside the record).
the PR body of docs(plugin-box): the routing comment states the measured trigger split, not a blanket claim #60 carries the same text because it is that record's source.
caveat and not deleted silently.
change's own correction note.
git statuswas run before every step; the branch was cut from freshorigin/main(
9fa5a96) in a session worktree asfix/changelog-squash-trailer-claimand renamed tofeat/changelog-squash-trailer-claim— the namespace the rulebook names — before the push; onecommit, amended only while it
was unpushed; no amend or force-push after a push, no push to
main, no hook bypass.and the sweep is shown to bite on the base and to be silent on the tree this PR pushes.
disposable: truetarget.Nothing was mocked.
2026.303.0223, never ashared install.
charly box validateat the repo root, and thecheck-box-localR10 bed (How tested §1–§3),all rc=0 with zero warnings and zero errors.
.worktrees/pb60/plugin-box, branched offfresh
origin/main.AGENTS.mdwas read before the change: its gate isgo build/go testin the plugin module,charly box validateat the root, and thecheck-box-locallivewitness.
docs(plugin-box): the routing comment states the measured trigger split, not a blanket claim #60, which this PR names in its first line and in the commit subject.
push, and the thread there carries the correction and the close-out.
Change classification
Documentation-only (a changelog record correction) — one paragraph of prose in
CHANGELOG/2026.303.0348.mdis replaced by the measurement that falsified it, and a dated noterecords the correction inside the entry. No runtime path, no schema, no CLI surface, no label, no
pin, no skill body. The shipped binary's behaviour is identical before and after this PR.
The tier is documentation reviewed: the change is prose, and every non-runtime standard passed —
the repo's own Go gate,
charly box validate, and thecheck-box-localR10 bed.Agent: charly
Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (documentation reviewed)