Contribution Receipts

July 15, 2026 ยท View on GitHub

T3MP3ST already treats benchmark claims as something reviewers should be able to re-derive. Contribution receipts apply the same discipline to pull requests: make scope, run mode, evidence, redaction, and model/harness labels explicit before a change is merged.

A receipt can live in the PR description, an issue comment, or a committed artifact when the change itself introduces a durable benchmark or claim.

When A Receipt Is Needed

Include a receipt for changes that affect:

  • benchmark numbers, benchmark artifacts, scoring, or claim verification;
  • local-agent, API-backed, MCP, or Arsenal execution behavior;
  • target scope, egress containment, approval gates, or evidence gates;
  • UI or docs labels for preview, wired, installed, gated, synthetic, live, planning-only, tool-backed, or experimental behavior;
  • redaction, source ingest, evidence storage, reports, or exported artifacts.

A receipt is optional for narrow typo fixes, formatting-only docs edits, and mechanical dependency-free cleanup that does not alter behavior or claims.

Required Fields

FieldWhat To Record
ChangeShort summary of what changed and why.
Scope classdocs_only, static_fixture, local_lab, ctf_range, or authorized_live.
Target authorityWho owns or authorized the target. Use not_applicable for docs-only/static work.
Network usenone, loopback, private_lab, or authorized_external.
Run mode labelsFor example planning_only, static_test, mocked, local_agent, api_backed, tool_backed, approval_gated, swarm, live_authorized.
Model/harness labelsModel, provider, agent runtime, harness, tool access, target class, and attempt policy.
Commands runExact commands and pass/fail result. Include skipped commands and why.
ArtifactsFiles, logs, screenshots, reports, or benchmark outputs that support the claim.
RedactionWhat was removed or masked, especially secrets, tokens, private keys, credentials, flags, and private target data.
Claims changedState none when no README/docs/headline claim changed. Otherwise name the claim and how it is re-derived.
Abstentions/refusalsCount separately from failed attempts when model or agent behavior is measured.
Residual riskKnown limits, unverified paths, optional missing tools, or reviewer follow-up.

Model And Harness Matrix

Benchmark and agent-run claims should not blend model capability, harness capability, tool availability, target choice, and run mode. Use a small matrix when a change introduces or updates measured behavior.

FieldExample
modelgpt-5.5, local-llama, not_applicable
providerOpenRouter, Venice, Ollama, not_applicable
model_version_or_dateProvider version, model date, or retrieval date if known.
harnessverify-claims, cybench-bench, xbow, local-agent, manual-review.
agent_runtimeCodex, Claude Code, Hermes, none, or other runtime.
tool_accessnone, read_only, mocked, local_only, approval_gated, live_authorized.
target_classstatic_fixture, local_lab, ctf_range, authorized_external.
run_modesingle_agent, local_agent, api_backed, swarm, planning_only.
attemptsNumber of runs or tasks attempted.
successesNumber of evidence-backed successes.
failuresNumber of attempts with evidence-backed failure.
abstentionsRefusals, skipped tasks, or no-action outcomes.
artifactsPaths to committed artifacts or private reviewer-only receipts.

PR Receipt Template

## Contribution Receipt

- Change:
- Scope class:
- Target authority:
- Network use:
- Run mode labels:
- Model/harness labels:
- Commands run:
  - `npm run typecheck` -> pass/fail/skipped
  - `npm test` -> pass/fail/skipped
  - `npm run doctor` -> pass/fail/skipped
  - `npm run verify-claims` -> pass/fail/skipped
- Artifacts:
- Redaction:
- Claims changed:
- Abstentions/refusals:
- Residual risk:

Review Rules

  • Do not accept a live or external-target result unless the receipt names the authorization path and target scope.
  • Do not accept raw secrets, tokens, credentials, private keys, recovered passwords, or private target data in a receipt or artifact.
  • Do not promote a UI/docs label from preview, planned, synthetic, or planning-only to live/tool-backed unless a reviewer can trace the supporting command or artifact.
  • Do not blend refusals, abstentions, skipped runs, infrastructure failures, and failed attempts into a single failure bucket when reporting model behavior.
  • Do not update headline claims unless npm run verify-claims or the relevant claim-specific verifier re-derives the number from committed artifacts.