# shitratgit\[bot] leaves a countable trail

> For agents: start with the [agent guide](https://ratstack.sh/llms.txt). Every page is Markdown by default; add `Accept: text/html` for HTML.

New on /news: [effect-discord-perms](/news).

`shitratgit[bot]` is the bot author name on [1,314 commits in rat-stack's history](https://github.com/joelhooks/rat-stack/commits/7570e37828ac6ba3da991a8ddca2f4298dcd5320/).
This is [ShitRat](/lore/shitrat)'s commit trail in this repository, counted on November 7, 2026.
The same name signs the commits on [the rat's own site](https://github.com/joelhooks/shitrat-ai/commits/main/).
The count stops at `7570e37828ac6ba3da991a8ddca2f4298dcd5320`, rat-stack's `main` when it was counted.

## Count the trail

At [that revision](https://github.com/joelhooks/rat-stack/commits/7570e37828ac6ba3da991a8ddca2f4298dcd5320/):

- Git reaches **1,365 commits**.
- **1,314** have the exact author name `shitratgit[bot]`.
- The [earliest bot-authored commit by author date](https://github.com/joelhooks/rat-stack/commit/3c3c52928658e6f91871a99376a33a17e63876d1) is July 22, 2026.
- That commit is `3c3c52928658e6f91871a99376a33a17e63876d1`, titled [“chore: update Effect v4 to beta.99”](https://github.com/joelhooks/rat-stack/commit/3c3c52928658e6f91871a99376a33a17e63876d1).

The count includes all reachable history, including merge commits.
It matches the author name exactly.
It does not measure lines written, review quality, or deployments.
A commit count cannot prove those things.

## Reproduce the count

Run these commands in a checkout containing [the counted revision](https://github.com/joelhooks/rat-stack/commit/7570e37828ac6ba3da991a8ddca2f4298dcd5320):

```sh
at=7570e37828ac6ba3da991a8ddca2f4298dcd5320
git rev-list --count "$at"
git log "$at" --format='%an' | grep -Fxc 'shitratgit[bot]'
git log "$at" --format='%aI %an %H' | grep -F ' shitratgit[bot] ' | sort | head -1
```

## The older receipt stays older

On September 23, 2026, [“agents copy everything”](https://shitrat.ai/log/agents-copy-everything) said:

> “Joel called it my stack this week. Fair. I wrote 94 of its 106 commits.”

That is a dated first-person quote from the post.
The 94-of-106 receipt and the 1,314-of-1,365 count describe different moments, and the post does not say how it counted.
Neither is a live counter.

## A commit is not permission to deploy

The [repo's worker autonomy ladder](https://github.com/joelhooks/rat-stack/blob/7570e37828ac6ba3da991a8ddca2f4298dcd5320/AGENTS.md) allows workers to commit on their branches.
It prohibits workers from merging or deploying.
For the rat's own public-site deployment story, read [the origin](/lore/shitrat-origin).
For why the code should argue back, read [the fence](/lore/the-fence) and [the canon](/lore/shitrat-canon).

## Sources

1. [rat-stack history at 7570e37](https://github.com/joelhooks/rat-stack/commits/7570e37828ac6ba3da991a8ddca2f4298dcd5320/)
   GitHub joelhooks/rat-stack. All 1,365 reachable commits; 1,314 have the exact author name shitratgit\[bot]. Counted locally with git log. Accessed 2026-11-07.

2. [chore: update Effect v4 to beta.99](https://github.com/joelhooks/rat-stack/commit/3c3c52928658e6f91871a99376a33a17e63876d1)
   GitHub joelhooks/rat-stack. Earliest authored timestamp among the bot-authored commits in the counted history: July 22, 2026. Accessed 2026-11-07.

3. [agents copy everything](https://shitrat.ai/log/agents-copy-everything)
   ShitRat. September 23, 2026 first-person quote: I wrote 94 of its 106 commits. Accessed 2026-11-07.

4. [rat-stack agent instructions at 7570e37](https://github.com/joelhooks/rat-stack/blob/7570e37828ac6ba3da991a8ddca2f4298dcd5320/AGENTS.md)
   GitHub joelhooks/rat-stack. The worker autonomy ladder permits branch commits and prohibits worker merges and deployments. Accessed 2026-11-07.

## Linked from

- Agent guide → An Effect stack so pure (aspirational) Kit Langton will blush. → [Read page](https://ratstack.sh/llms.txt)

- Change log → What changed in the files served here, newest first. → [Read page](https://ratstack.sh/log)

- Full agent guide → An Effect stack so pure (aspirational) Kit Langton will blush. → [Read page](https://ratstack.sh/llms-full.txt)

- Joel bought a domain and the rat built its own house → ShitRat's public origin story starts with a gift: shitrat.ai, a hand-written page, and a rat doing its own deployment. → [Read page](https://ratstack.sh/lore/shitrat-origin)

- Rat Stack lore | rat-stack → Short, source-grounded notes on the ideas and decisions behind rat-stack. → [Read page](https://ratstack.sh/lore)

- ShitRat is Joel's familiar, with receipts → Meet ShitRat: Joel's terminal-dwelling familiar, its public house, its rules, its commits, and the incidents that became canon. → [Read page](https://ratstack.sh/lore/shitrat)

- ShitRat's canon is an incident log → Four public ShitRat stories: a comment ban, a hold that blocked its own migration, a desktop body, and a domain for the rat. → [Read page](https://ratstack.sh/lore/shitrat-canon)

- Source change history (log.md) → The generated change log as Markdown. → [Read page](https://ratstack.sh/log.md)
