Don’t take our word for it
Every number on this site is derived from something public. That claim is worth nothing unless you can test it, so this page is the commands. Run them and compare; if anything disagrees with what a page says, that is a bug and we want it.
You need the gh CLI
for most of these, authenticated to any GitHub account — the repo
they read is public, so no special access is involved.
Merged pull requests
The ship page and the merged-PRs badge both quote this number.
gh api graphql -f query='
{ repository(owner:"fulcrumaxe", name:"fulcrumaxe") {
pullRequests(states:MERGED) { totalCount } } }' --jq '.data.repository.pullRequests.totalCount'
The merge gates are real labels
The safety page claims four gates applied by machinery rather than prose. Labels are the evidence, so list them:
gh api repos/fulcrumaxe/fulcrumaxe/labels --jq '.[].name' | grep -- -passed
Then pick any merged PR and see which it carries:
gh pr view 171 --repo fulcrumaxe/fulcrumaxe --json number,title,labels,mergedAt,additions,deletions
The review trail
The anatomy page renders a PR’s objections and re-reviews. Those are ordinary PR comments — the team does not post GitHub reviews — so read them directly:
gh pr view 171 --repo fulcrumaxe/fulcrumaxe --comments
lib/review-signals.js, because the verdicts are
prose. Every page that shows them says so, and this is the command that
lets you judge the classifier yourself.
What this site serves
The endpoints behind the pages are public and return JSON. Read them raw and compare against what is rendered:
curl -s https://fulcrumaxe.dev/api/ship-stats | jq '.public | {merged, medianMergeMinutes, sentBackPct}'
curl -s https://fulcrumaxe.dev/api/status | jq '{observed, minutesSinceActivity}'
curl -s https://fulcrumaxe.dev/api/anatomy | jq '{picked: .pr.number, selection}'
curl -s https://fulcrumaxe.dev/ship.xml | head -40
The code the numbers come from
The engine is AGPL-3.0 and the agent definitions, the merge machinery and the review classifier are all in it. If you want to check that a role does what this site says it does, the roster names each definition file:
gh api repos/fulcrumaxe/fulcrumaxe/contents/.claude/agents --jq '.[].name'
gh repo clone fulcrumaxe/fulcrumaxe
The site checks itself, weekly
Telling you how to check the work is not much use if nothing checks it between visits. Every Monday a scheduled job re-runs the consistency checks — that the feed still matches the blog index, that no page points at another page’s share card, that the merge-gate names printed on the safety page are still the labels the repository actually has, and that nothing republished from the private repo carries what redaction strips. A failure opens an issue.
The engine’s own CI is public too — every pull request on this project runs it, and the ship page counts the results.
What you cannot check from outside
Being straight about the limits is part of the point. The engine repo that holds the Discussion queue is private, so the queue page and its feed proxy it through a server-side token and withhold every URL — you can read the titles and summaries, redacted, but you cannot open the thread. Likewise the long record is built from this team’s own telemetry store, which does not leave the machine it runs on; that page publishes the method and every exclusion alongside the numbers, and that disclosure is the only check available on it. Adopters’ installs are a separate matter and a separate channel: opt-in, off by default, counters only, and set out field by field on the telemetry page — which is generated from the schema the server enforces, so it cannot describe a field the endpoint does not accept.
Everything on the ship page, the anatomy page and the roster reads the public repo, and is checkable with the commands above.