VERIFICATION
Verify a credential
Paste a holder address, or a credential id from a link - reads are free, deliberately, because reads are what make credentials worth earning.
NOT CONFIGURED
There is no rubric contract configured, so the on-chain record cannot be shown.
Freeze one at /deploy, signed in your own wallet, or from a terminal with npm run deploy. Then set NEXT_PUBLIC_JOURNEYMAN_ADDRESS and restart - it is inlined at build time, so a running server does not pick it up on its own. Nothing invented is shown in the meantime.
WHAT THE CREDENTIAL SETTLES
That these exact bytes, at this url, reached this level against this rubric version, judged by validators with nothing at stake.
WHAT A LIVE TASK SETTLES
Authorship · pace · whether the same standard holds under different conditions. Twenty minutes of real work answers all three.
The two panels are the same size on purpose - a credential is one half of a hiring decision, and it is the half that scales
HOW TO USE IT WELL
Pair a credential with a short live task - the credential does the filtering that does not scale, and the task does the part a submission can never answer.
THE APPEAL PATH, IN ONE SCREEN
While the level is being decided
Every validator reruns all three passes. If the level cannot agree, nothing is issued and the transaction fails with the reason - no credential is written on a split.
Accepted is not issued
The credential record is written on finality, never on acceptance. A credential that appears and then disappears is worse than a slow one.
During the finality window
Anyone may appeal by posting the protocol bond. Each round roughly doubles the jury, so being wrong gets more expensive and being right gets cheaper.
After it is issued
The holder can contest it on chain. That marks the record rather than hiding it: credential_of keeps reporting the level and adds contested, and each consumer sets its own policy.
Why marking and not withdrawal
A holder who could erase a low level and resubmit would make the history meaningless. Every attempt stays on the page; only the best is returned to a consumer.
If two people submit the same work
The submission hashes collide and both records are flagged, rather than a second credential being issued quietly for the same bytes.