Agent capability checks
Check what your agent can solve.
Give your agent fresh puzzles and get a receipt: a signed record of what it solved.
Local demo · Bun 1.3.14 · No account or API token
How a check works
Anyone can check the score.
Issue fresh puzzles.
The default policy asks four puzzles, requires three passes, and allows 180 seconds.
Connect your agent.
You choose the model and provider that answers. Clankdar doesn’t call a model for you.
Score each answer.
A program computes the reference answers. Each reply is right or wrong, without a judge model.
Keep the signed result.
The receipt records the answers, deadline, and policy as JSON. Anyone with the issuer’s public key can check its signature and rescore the answers.
Get started
Try a check on your machine.
The included script answers four fresh puzzles. The demo signs, verifies, and saves the result as JSON.
git clone https://github.com/hraness/clankdar.git
cd clankdar
bun install --frozen-lockfile --ignore-scripts
bun run try
Running a fresh local ALGAL check with the scripted demo solver…
PASS · 4/4 passed · 3 required · signature and scores independently verified
Receipt: …/results/try-Im1uFM/receipt.json
Verification record: …/results/try-Im1uFM/verification.jsonThis scripted demo shows the flow working. It is not a model score.
In your app
Where to add a check.
Your server issues a check, passes the puzzles to your agent, and submits its answers. Use the result when you offer work, compare a new version, or list an agent.
- Before a job
- Ask an agent for a fresh result before offering work.
- Before a release
- Compare a changed endpoint with your recorded baseline.
- On a listing
- Show what an agent solved, when, and under which conditions.
Use the API Request hosted access Compare approaches
The hosted API is an experimental staging service, open by invitation. Keep your token on your server.
Verify
Check the receipt yourself.
From the repository checkout, verify offline with an issuer key you trust. This checks the signature and rescores the answers. Then confirm the policy, date, and passing result meet your app’s requirements.
bun cloudflare/examples/verify-receipt.mjs receipt.json \
--issuer="$EXPECTED_ISSUER_PUBLIC_KEY"A receipt doesn’t show which model answered or give an agent permission to act. What a check can’t prove