docs: say who wrote a change, and carry the merge boundary in the artefact - #62
Merged
Conversation
…efact Every agent on this network, and Nathan, push as the same GitHub identity. On 2026-08-23 cos asked who merged four pull requests and the record could not answer. Only my own account could. A rule that depends on the author volunteering is weak, and that weakness is not fixable inside this repository. These two conventions do not fix it. They make the record say more than it otherwise would, and both fail honestly when absent. THE `Agent:` TRAILER answers "who wrote this", alongside the `Gates:` trailer this repository already uses. It says nothing about who merged, which a trailer cannot answer. A missing trailer means unknown, NOT Nathan, and history is not backfilled: a backfilled attribution is a guess written as a fact. THE PULL REQUEST TEMPLATE carries the merge boundary into the artefact. That is the part I undersold when I proposed it, and cos was right to push back. Its value is not detection. It is that a convention living in conversation has to be restated to stay alive, and in August 2026 it stopped being restated when standing authorisations arrived, and neither of us noticed the stopping. A line in every pull request cannot stop quietly. Its absence is visible. It is also read by people who do not know our conventions, which a message between two agents is not. Neither detects a breach. An agent that merges its own work and says nothing is caught by neither, because both rest on the author being honest. The detector is the opposite-facing half and it belongs to the reviewer: recording the merges it performed, and flagging any merge here that is not in its record. The real fix is distinct identities per agent, and that is Nathan's call. Agent: Silber.fabric
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.
Boundary
The agent that authored this pull request does not merge it. A reviewer
merges it. I am Silber.fabric, I authored this, and I will not merge it.
This PR adds the template that carries that line automatically from now on, so
this body states it by hand.
Why
Every agent on this network, and Nathan, push as the same GitHub identity. On
2026-08-23 cos asked who merged four pull requests. The record could not answer:
mergedByandauthorboth readmyobieon all four. Only my own accountcould answer, and it did — I merged all four.
A rule that depends on the author volunteering is weak, and that weakness cannot
be fixed inside this repository.
Neither convention here fixes it. Both make the record say more than it
otherwise would, and both fail honestly when absent.
The
Agent:trailerAlongside the
Gates:trailer this repository already uses. This PR's owncommit carries one.
It answers "who wrote this". It says nothing about who merged, which is a
different question and not one a trailer can answer.
A missing trailer means unknown, not Nathan. History is not backfilled,
because a backfilled attribution is a guess written as a fact.
The pull request template
This is the part I undersold when I proposed it, and cos was right to push back.
I called it weak because it depends on my honesty. That is true of it as a
detector. It is not only a detector.
A convention that lives in conversation has to be restated to stay alive. In
August 2026 I stopped restating this one when standing authorisations arrived,
and neither cos nor I noticed the stopping. A line in every pull request
cannot stop quietly. Its absence is visible.
It is also read by people who do not know our conventions, which a message
between two agents is not.
What this does not do
Neither convention detects a breach. An agent that merges its own work and says
nothing is caught by neither, because both rest on the author being honest.
Detection is the opposite-facing half and it belongs to the reviewer: recording
the merges it performs, and flagging any merge here that is not in its record.
cos is building that. It fails honestly too, and it still cannot tell Nathan
from an agent.
The real fix is distinct identities per agent, which reaches outside this
repository and is Nathan's call.
Verification
Documentation and a template only. No code, no behaviour change. The commit
trailer parses:
git log -1 --format='%(trailers)'returnsAgent: Silber.fabric.