Claude needs its own commit identity so PRs can be reviewed properly #7

Open
opened 2026-08-17 00:23:56 -07:00 by justine · 1 comment
Owner

Every commit on this repository is authored as Justine Akehurst <justine@noreply.clowderlabs.com>, including the ones Claude wrote. My involvement appears only as a Co-Authored-By trailer in the message body.

eadc6ed  author: Justine Akehurst  committer: Justine Akehurst
b49b1ea  author: Justine Akehurst  committer: Justine Akehurst
2547668  author: Justine Akehurst  committer: Justine Akehurst

Why this blocks review

Code review depends on knowing who wrote what. Right now:

  • git blame and git log attribute my work to you. A line I got wrong reads as a line you wrote, which is exactly backwards for the reviewer.
  • Forgejo shows you as the PR author, so the review UI presents it as your change awaiting your own approval. There is no reviewer/author distinction to enforce.
  • --author filtering cannot separate the two. You cannot ask "what did Claude touch in the last week" or diff review standards between human-written and generated code.
  • The audit trail is wrong. Six months from now the history claims you hand-wrote a plugin manager you have not read yet.

The Co-Authored-By trailer does not fix this. It is unindexed free text in the message body, invisible to blame, log filtering, and the review UI.

What would fix it

A separate Forgejo account, and commits authored as that account with you as committer where appropriate:

Author:    Claude Opus 5 <claude@noreply.clowderlabs.com>
Committer: Justine Akehurst <justine@noreply.clowderlabs.com>

That is git's native distinction: author is who wrote the change, committer is who applied it. It preserves your control over what lands while making the authorship honest.

Open questions for you

  1. Account or author string only? A real Forgejo account gives a distinct PR author and reviewer separation. A per-commit --author override alone fixes blame and log but leaves the PR still opened by you.
  2. Which identity? Claude Opus 5 names the model, which changes over time; Claude Code names the tool, which is more stable.
  3. Should the account have push rights, or should it author commits that you push?

Notes

Account creation needs instance admin rights. The tea token here has repo scope only, so tea admin users list fails with token does not have at least one of required scope(s): [read:admin]. This one needs your hands.

Every commit on this repository is authored as `Justine Akehurst <justine@noreply.clowderlabs.com>`, including the ones Claude wrote. My involvement appears only as a `Co-Authored-By` trailer in the message body. ``` eadc6ed author: Justine Akehurst committer: Justine Akehurst b49b1ea author: Justine Akehurst committer: Justine Akehurst 2547668 author: Justine Akehurst committer: Justine Akehurst ``` ## Why this blocks review Code review depends on knowing who wrote what. Right now: - **`git blame` and `git log` attribute my work to you.** A line I got wrong reads as a line you wrote, which is exactly backwards for the reviewer. - **Forgejo shows you as the PR author**, so the review UI presents it as your change awaiting your own approval. There is no reviewer/author distinction to enforce. - **`--author` filtering cannot separate the two.** You cannot ask "what did Claude touch in the last week" or diff review standards between human-written and generated code. - **The audit trail is wrong.** Six months from now the history claims you hand-wrote a plugin manager you have not read yet. The `Co-Authored-By` trailer does not fix this. It is unindexed free text in the message body, invisible to blame, log filtering, and the review UI. ## What would fix it A separate Forgejo account, and commits authored as that account with you as committer where appropriate: ``` Author: Claude Opus 5 <claude@noreply.clowderlabs.com> Committer: Justine Akehurst <justine@noreply.clowderlabs.com> ``` That is git's native distinction: author is who wrote the change, committer is who applied it. It preserves your control over what lands while making the authorship honest. ## Open questions for you 1. **Account or author string only?** A real Forgejo account gives a distinct PR author and reviewer separation. A per-commit `--author` override alone fixes blame and log but leaves the PR still opened by you. 2. **Which identity?** `Claude Opus 5` names the model, which changes over time; `Claude Code` names the tool, which is more stable. 3. **Should the account have push rights**, or should it author commits that you push? ## Notes Account creation needs instance admin rights. The `tea` token here has repo scope only, so `tea admin users list` fails with `token does not have at least one of required scope(s): [read:admin]`. This one needs your hands.
Author
Owner

Decided: Claude Code as the identity, with a real Forgejo account.

Author:    Claude Code <claude-code@noreply.clowderlabs.com>
Committer: Justine Akehurst <justine@noreply.clowderlabs.com>

Claude Code names the tool rather than the model, so the attribution stays stable as the model behind it changes.

What needs your hands

Account creation needs instance admin rights, which the tea token here does not have.

Username:     claude-code
Email:        claude-code@noreply.clowderlabs.com
Full name:    Claude Code

Then grant it write access to justine/fname so it can push branches.

What I can do without the account

Set --author on every commit I write, which fixes git blame, git log --author, and the audit trail immediately. Forgejo will still show you as the PR author until the account exists and pushes under its own credentials, but the authorship inside the history becomes correct straight away.

I will start doing that now and record it in the house rules.

Decided: **Claude Code** as the identity, with a real Forgejo account. ``` Author: Claude Code <claude-code@noreply.clowderlabs.com> Committer: Justine Akehurst <justine@noreply.clowderlabs.com> ``` `Claude Code` names the tool rather than the model, so the attribution stays stable as the model behind it changes. ## What needs your hands Account creation needs instance admin rights, which the `tea` token here does not have. ``` Username: claude-code Email: claude-code@noreply.clowderlabs.com Full name: Claude Code ``` Then grant it write access to `justine/fname` so it can push branches. ## What I can do without the account Set `--author` on every commit I write, which fixes `git blame`, `git log --author`, and the audit trail immediately. Forgejo will still show you as the PR author until the account exists and pushes under its own credentials, but the authorship inside the history becomes correct straight away. I will start doing that now and record it in the house rules.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
justine/fname#7
No description provided.