Repository navigation
Leave Claude Code's own attribution out of factory pull requests and commits #937
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
This was generated by AI during triage.
Factory pull requests built with Claude carry Claude Code's own attribution as well as thirdshift's. Pull requests built with the other Harnesses carry only thirdshift's.
What happens now
- thirdshift ends every factory pull request's body with
Built with <harness> · <model> · <effort> <!-- thirdshift:built-with -->(src/pull_request.rs). - When Claude Code commits and opens pull requests, it adds its own attribution:
- a
🤖 Generated with [Claude Code](https://claude.com/claude-code)line in the pull request body; Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>trailers on its commits.
- a
- thirdshift doesn't set Claude Code's attribution. It passes Claude no
--settings, and nothing insrc/orskills/configures it.
Of the last 300 merged pull requests in this repository:
- 22 were built with Claude, and all 22 have the "Generated with" line. Their commits carry the trailer: 2 of 3 on Save the Console install script with console install --output #935, and 4 of 4 on Report a failure with the Session log of the session its cause came from #933.
- The 156 built with Codex and the 7 built with Muse have no "Generated with" line. The commits checked on four of them (Add custom Console Themes and local fonts #895, Ask about the Console during Setup #874, Sweep spec publish session for unlinked public issues #654 and Security fix: publish spec-size fixes through staged text #651) have no trailer.
What to change
Have factory sessions on Claude leave out Claude Code's attribution, so that every factory pull request names what built it once, in the Built-with line, whatever the Harness.
- Claude Code's
attribution.commitandattribution.prsettings "change or hide" the commit trailer and the pull request line.includeCoAuthoredByis deprecated in their favour (settings reference). - thirdshift could pass those settings for each session with
--settings, which takes precedence over the user's own settings files. - Only factory sessions change. Claude Code run by hand keeps its defaults.
Why
- One attribution, written by thirdshift, for every Harness. Today a pull request's attribution depends on which Harness built it.
- Uniform commit history. Only Claude-built commits name a model as co-author.
- Less to strip for add evals -integrate with langfuse / oss eval tool? #698's blind Grader. add evals -integrate with langfuse / oss eval tool? #698 plans a Grader for a sample of merged pull requests that must not see the Harness, Model or Effort. It will strip all three lines either way, because a missing line gives the Harness away as surely as a present one.
To decide
- Hide or replace. Should Claude Code's attribution be hidden, or replaced with thirdshift's own wording on every Harness? Make User config that signs PRs made with thirdshift / comments on issues picked by thirdshift with thirdshift so it is easier to track which were worked on by thirdshift, or have a label for it or something #900 asks for thirdshift's signature on pull requests and issue comments, so the two could be settled together.
- Commit trailers. Should every Harness's commits carry a thirdshift trailer in place of the model's, or none?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Activity
JacobStephens2 commentedon Oct 21, 2026
Agent Brief
Category: enhancement
Summary: Factory sessions on Claude Code leave out Claude Code's own commit and pull request attribution
Current behavior:
thirdshift ends every factory pull request's body with its own
Built with <harness> · <model> · <effort>line, behind athirdshift:built-withmarker. When the Harness is Claude Code, Claude Code adds its own attribution too. That means a "🤖 Generated with Claude Code" line in pull request bodies it writes, andCo-Authored-By: Claude …trailers on its commits. Sessions on the other Harnesses add neither. thirdshift startsclaudewith no--settings, so Claude Code's defaults apply.Desired behavior:
Every factory session on Claude Code is started with settings that turn off Claude Code's commit trailer and pull request attribution. A factory pull request then names what built it once, in thirdshift's Built-with line, whatever the Harness. Claude Code run by hand keeps its own defaults, and nothing replaces the removed lines.
Key interfaces:
claude_args). Pass the attribution settings with--settings, which takes precedence over the user's and the repository's settings files.attribution.commitandattribution.pr, withincludeCoAuthoredByas the deprecated form. Confirm the keys, and the value that hides each line, against theclaudeversion thirdshift supports, and record that version in the PR.UPDATE_PROMPTS=1 cargo test prompts_page.Acceptance criteria:
cargo test prompts_pagepasses.Out of scope:
Move the #698 eval grilling into done, with its Specs listed