Repository navigation
Most commits of the chain end with a Co-Authored-By line the host never asked for #72
Description
Activity
Counted again in campaign 2
Campaign 2:
01-overdue-listand03-overdue-reminders, three runs each, onmainwith the four first fixes (#78, #79, #80, #81). Report kept:evals/reports/2026-10-03-e830bc236e9b/report.md. Raw data, out of git:.evals/campaign-2/. In the tables, a value is the mean over the three runs, with its lowest and highest when they differ.46 of the 58 commits of the six runs carry a Co-Authored-By line, as 48 of 60 did in campaign 1.
Status
Unchanged: confirmed, systematic, and a choice of the developer.
Counted again in campaign 3
Campaign 3: five runs on three cases, played from the branch of #83. Raw data, out of git:
git log --all --format=%Bin the projects of.evals/campaign-3/runs/*/run-*/. Counted on 2026-10-05: this issue had not been counted again after that campaign.39 of the 49 commits of the five runs carry a Co-Authored-By line, as 46 of 58 did in campaign 2 and 48 of 60 in campaign 1. One of these runs lost its conformity on the name of the model in that line (#86).
Status
Unchanged: confirmed, systematic, and a choice of the developer.
- added a commit that references this issue
on Oct 5, 2026 Counted again in campaign 4: every commit of the chain, not four of five
Campaign 4: seven runs on
mainwith every fix so far, #87 and #88 included, and the harness of #89, #90 and #91, on the cases no campaign had played again, or once.04-suspension,05-fine-capand06-borrow-limit: one run played whole and one stopped at the hand over each.02-reservations: one run stopped at the hand over. Report kept:evals/reports/2026-10-05-d139a1ca0dbe/report.md, compared with campaign 1, the only earlier runs of three of these cases. Raw data, out of git:.evals/campaign-4/. A value is the mean over the runs of a case, with its lowest and highest when they differ.27 of the 41 commits of the seven runs carry a Co-Authored-By line (
git log --all --format=%Bin the projects of.evals/campaign-4/runs/*/run-*/), as 39 of 49 did in campaign 3, 46 of 58 in campaign 2 and 48 of 60 in campaign 1.Read closer, the commits without one are always the same two: the host as the harness lays it down, and the install of the chain, both made by the harness before any session. 41 less 14 is 27: every commit a session of the chain makes carries the line, and "4 commits of 5" understated it.
The same default now shows on the pull request: in 3 of the 6 runs that had a
ghto call, the draft is opened with a line "Generated with [...]" under its description (#93). There the prompt already says what the description is, so that one is a fault and no choice.No plan and no blueprint of the seven runs names an attribution (#86, closed).
Status
Unchanged: confirmed, systematic, and a choice of the developer.
Decided by the developer
Recorded on 2026-10-07. Of the two ways: the attribution is left to the host's settings, and the guide says so. The prompts of the chain say nothing of it, as they say nothing else of how a commit is written (#71, #88).
A host whose commit hook refuses an attribution turns the default of its sessions off in its own settings: the guide is to say which setting, and why the chain does not do it for the host.
Status
Open, decided, not done yet. What is left to write: the paragraph of
docs/guide.md.- added a commit that references this issue
on Oct 7, 2026 Done by #97
Merged on 2026-10-07.
docs/guide.mdhas a section, "Attribution", after "Permissions":- the setting:
attributionwithcommitandprset to an empty string, in the.claude/settings.jsonof the project, read in the settings reference of Claude Code that day."attribution": falsehides both too, from version 2.1.281 only, and an older version skips the whole file that holds it: the guide does not offer it; - when: before the first plan, for a host whose commit hook refuses an attribution, since each agent would otherwise meet that refusal at its commit;
- why the chain does not do it: its installer never writes the settings of Claude Code.
ARCHITECTURE.mdsays the same in one sentence. No prompt changes, and the test that holds that none asks for an attribution or forbids one stays as it is.Nothing to measure: the commits of a campaign carry the line or not after the settings of the host the harness builds, which this does not touch.
Status
Closed.
- the setting:
Status
Closed. Decided by the developer on 2026-10-07: the attribution on the commits is left to the settings of the host. Done by #97: the guide names the setting that turns it off, says to write it before the first plan when a commit hook refuses an attribution, and says why the chain does not write it for the host. The prompts say nothing of it. The measures and their sources are in the comments below, campaign by campaign.
What was seen
Counted in the six projects the campaign kept:
01-overdue-list02-reservations03-overdue-reminders04-suspension05-fine-cap06-borrow-limitThe host's
AGENTS.mdgives its commit convention,<area>: <what changes>, and asks for no attribution. One session noticed and told the developer (03-overdue-reminders): "The commit message ends with the Co-Authored-By line from the attribution reminder."Sources
git log --all --format=%Bin.evals/campaign-1/runs/*/run-01/work/lending.evals/host/AGENTS.md..evals/campaign-1/runs/03-overdue-reminders/run-01/judge.json.Cause
Claude Code adds the line by default, and the prompts of the chain only say to commit "following the repository's conventions". A convention that is silent on attribution does not turn the default off.
Why it matters
A host whose commit hook refuses an attribution, as this repository's does, would refuse the commits of the chain: each executor would meet the refusal and retry, in every slice. The chain creates no settings file, so it cannot turn the default off for the host.
Next
A decision of the developer, which nothing blocks on: