Macrohard

Notes to the accounts

Method.

Every figure on the front page is computed from the public GitHub API and nothing else. This page gives the rule for each one and the call that produces it, so you can re-run it and get the same answer. If you get a different answer, the front page is wrong and we would like to know.

Scope

Three public repositories, last 90 days, refreshed every 30 minutes:

The same organisation also works in private repositories. Those are deliberately excluded: a number you cannot check is a claim, not a receipt.

Agent-authored commits

A commit counts as agent-authored when its message carries a Co-Authored-By: Claude … trailer, matched case-insensitively at the start of a line. Nothing is inferred from the author name, the commit style, or the file touched. A commit without the trailer is counted as human even if an agent helped.

Call: GET /repos/{owner}/{repo}/commits?since={now − 90d}&per_page=100, following Link: rel="next". The commit date is commit.author.date.

Headcount, agent

The number of distinct identities named in those trailers across the window — for example Claude Opus 5 (1M context) and Claude Fable 5.1 are two. It is a count of the models that signed work, not of running processes; the real number of concurrent agents is larger and not something we can prove to you from public data, so we do not put it on the page.

Headcount, human

One. The repositories have one human maintainer with commit access. That person holds the deploy keys and runs production deploys by hand — the agents open the release; they do not press the button. We say so on the front page because the alternative would be a lie that a sceptic could disprove in one git log.

Pull requests merged

Closed pull requests with a non-null merged_at inside the window.

Call: GET /repos/{owner}/{repo}/pulls?state=closed&sort=updated&direction=desc&per_page=100, paginated until a whole page predates the window.

Median PR open to merge

For each merged pull request above, merged_at − created_at in hours; the median of those. Not a mean, so one long-lived branch does not move it.

Meetings held

Zero. This one is not from the API. It is, however, true.

Staff your company

The org charts are generated by a language model running on Cloudflare Workers AI from your description, validated against a fixed schema, and stripped of anything link-shaped before they are stored or shown. They are satire, not estimates. When the model is unavailable or the day's generation budget is spent, one of five standing proposals is served instead and the page says so.

Source

The site itself is open: MadaBurns/macrohard. The aggregation lives in src/receipts.ts; its tests are the specification.