Thought · 2026-10-17 · 3 min read

Solving the Attribution Problem


Erick's avatar

The Problem...

Part of the reasoning behind Apartment 38 was to create a place to showcase work achieved through collaboration with AI. I specifically wanted to keep this work separate from my personal work. The problem I ran up against was then one of attribution. I wanted my agents to have credit for the work they did.

Complicating factors...

There are any number of ways to go about AI attribution. One popular method is to create create a bot or machine account^1 for each of your agents. The downside, however, is now you're managing multiple accounts. There's always the option of just haiving the agent set itself as the author or signing the code withough a GitHub account as well^3. That method, however, can isn't quite as elegant as the author won't link back to a GitHub entity.

Then there's the problem of how you actually get the agent to use the credentials or perform the attribution. You could specify it in the git repo settings, but then you need separate copies of the repo for you and the agent. You could create a skill, but that takes up context. You could create an instruction file like AGENTS.MD, but you'd have to recreate the instructions for every repo (and it takes up context).

The Solution...

The solution I finally settled on was to use GitHub Apps to identiy the agents^5. I use different agents & harnesses across different PCs. This method allows me to create an identity for each agent that can be replicated or ported fairly easily. I initially wrote a bash script to handle this, but still found that inelegant. It allowed the agent to commit and push, but required setup for each repo.

After going back to the drawing board, I realized all I wanted the agent to do is commit. I don't care if they use my PAT or cached creds to push. In my workflow, I usually handle any actions other than a commit anyway; so all I really needed was commit authoring. That can be accomplished with a simple git commit -m $MESSAGE --author="$USER <$EMAIL>" command. I played around with ways to trigger it, but I really didn't want to have to call a skill every time or take up context.

Finally, I decided to just write a plugin. I find myself mostly using Hermes, OMP, and Codex these days, with hermes slightly edging out the others for most tasks. That's where I started, and the Hermes GitHub Bot Commit Plugin is the result. It works by activating a profile-specific Git wrapper that checks the repo at invocation time for local repo actions other than pull. All you need to do is create the GitHub App, and grab the App Slug (What you named it). After you install the plugin, run the setup command, enter the App Slug, and the plugin handles the rest. Now, you can share the repo directory with your agent and still have them automatically attribute authorship to their commits while maintaining control of what gets pushed and when!

Footnotes

Further Reading:

  • https://deepwiki.com/git-ai-project/git-ai/3.1-ai-authorship-tracking
  • https://usegitai.com/agent-blame
  • https://www.agentpatterns.ai/workflows/agent-commit-attribution/
  • https://www.ssw.com.au/rules/attribute-ai-assisted-commits-with-co-authors