Proof of Work — your record of verified merges
Your code is your résumé. Proof of Work is a credential computed from real, merged contributions — never a self-reported skill list, and never something you fill out.
Where it lives
Every developer who publishes their profile gets a page at
terminalhire.com/r/<your-github-login> — a public, verifiable, printable
résumé built entirely from third-party-attested work.
Checking your own
terminalhire.com/proof counts the same thing for your own account before you publish
anything. Sign in with GitHub — the scope we ask for is read:user, and we never request
access to private repositories — and it reads your public merge history and lists every
pull request behind the count, each one linking back to the source.
Signing in is what makes this your own record rather than a stranger's: without it the server cannot tell whose account it was asked about. Looking publishes nothing; that is the separate step below.
What's on it
- Profile. Your GitHub name, photo, and a specialty derived from accepted contributions.
- Acceptance summary. Contributions accepted across independent teams, with the latest acceptance date and the date the record was checked.
- Selected contributions. Recent work across up to three projects, with actual pull request titles and source links. Expand “More accepted work” for the remaining record. These links appear only when your contribution visibility settings allow them.
- Supporting record. Languages and topics, accepted paid work, and personal projects. The counting criteria are available under “How contributions are counted.”
- Contribution details. “Read contribution” opens a public dossier when available. It leads with acceptance and recorded human review. “Explore the evidence” reveals review states, automation, AI summaries, and the commit timeline. Acceptance is not a claim that a human review occurred.
- PDF. Use “Download PDF” at the top of either page. The print view includes expanded evidence and contribution lists.
Why third-party-attested, not self-reported
Anyone can list a skill. Far harder to fake is a pull request accepted into a project you don't control — merged in the open, into an external codebase, and auditable back to the source. No single merge proves everything on its own, which is why the credential leans on the pattern: substantive PRs accepted across distinct organizations you don't own, cleared against an eligibility bar rather than taken on trust. That's also why it never inflates silently: work it can't verify shows "could not verify," never a fabricated zero.
Synthesized narratives
Per-repository dossiers may include a short AI-synthesized narrative — a thesis sentence, a review-decision summary, graded competencies, and a one-line résumé bullet. It is derived exclusively from the deterministic evidence already on the page (identity-free structured facts: counts, enums, timestamps, pseudonymous review classes). No new facts are introduced, no free-text comments are read, and no person is named. Every synthesized element is grounded in a specific piece of that evidence and adversarially re-checked against it; anything not fully supported is dropped rather than shown. Synthesized content is labelled as such on the page, so it is never mistaken for a raw, third-party-attested signal.
Publishing
Your /r/<login> page renders only once you've explicitly published your
profile — until then, the URL 404s, identically to a login that doesn't exist
at all. Nothing about who has an account is discoverable from the page itself.
Your trajectory, from your own sessions
A second record, derived from the Claude Code transcripts already on your disk
under ~/.claude/projects — how you work, rather than what other teams merged.
terminalhire trajectory # derive it and print it
terminalhire trajectory --inward # add the rework and recovery detail
terminalhire trajectory --export # write it to ~/.terminalhire/
terminalhire trajectory --push # link it to your dashboard
terminalhire trajectory --push --delete # unlink it again
Deriving, printing and exporting reach no network. --export writes
trajectory-export.json and trajectory-export.md into ~/.terminalhire/, or
into TERMINALHIRE_DIR if you set one. The --inward figures are for your
terminal only and are left out of both files.
--push is the one spelling that sends anything. It prints what it would send,
then waits for you to type yes; anything else cancels, and a cancel makes no
network call at all. After the typed yes, the exact bytes about to leave are
scanned for the inward fields, and the send is abandoned if any turn up. What
goes is the derived score — your transcripts stay where they are.
A terminal that has never signed in stops before any of that, and says to run
terminalhire login first. Past that, whenever the CLI has no web session this
host will accept, your browser opens and the link finishes there.
terminalhire trajectory --push --unlink removes it again — --push --delete
is the same command under another name — and asks for the same typed yes
first. With no web session on this machine at all, the removal cannot happen
from the terminal: it opens your dashboard and tells you to remove the
trajectory there.
Where it connects
Your Proof of Work credential is the foundation the rest of TerminalHire builds on: it's what recruiters see, what other developers match against in connect, and what claims feed into over time as your merged-PR history grows.