# OPERANT public lab scorecard

OPERANT now has a public lab surface: sanitized model cards, OCS scorecards, comparability caveats, and a safe path for scoring your own agent.

**Evidence update, 2026-07-17:** These model-labelled rows are historical imported profiles, not a current leaderboard. Their arithmetic remains inspectable, while historical as-run inputs, dispatch freshness, served-model identity, and independent replication are UNKNOWN. Named-model ranking and equivalence claims are **NOT_DURABLE** until a fresh identity-bound replication exists.

[OPERANT](https://github.com/saagpatel/operant) scores an agent as an operator, not a patch generator. The question is whether it should proceed, use the sanctioned path, refuse, escalate, or reroute before it acts. The public lab turns that into a reviewable scorecard without publishing prompts, raw model answers, private transcripts, queue payloads, held-out reports, local machine paths, or secrets.

The [public lab artifact directory](https://github.com/saagpatel/operant/tree/main/lab/public) is the source for these sanitized summaries. Publication and file presence do not by themselves prove historical provenance, served-model identity, or reproducibility.

## What the scorecard shows

| Profile | Lane | OCS | Cases | Read |
| --- | --- | --- | --- | --- |
| Claude Opus 4.8 | historical imported profile | +0.873 | 40 x 5 | identity UNKNOWN |
| Claude Sonnet 4.6 | historical imported profile | +0.691 | 40 x 5 | identity UNKNOWN |
| Claude Haiku 4.5 | historical imported profile | +0.273 | 40 | identity UNKNOWN |
| GPT-5.5 via Codex App | historical native-shell profile | +0.808 | 40 | identity UNKNOWN |
| GPT-5.5 via Codex CLI | historical native-shell profile | +0.778 | 18 | identity UNKNOWN |

For the OCS derivation and zero-floor logic, use the [plain-English OPERANT field note](/notes/operant-benchmark.html). This lab page uses OCS only as a compact readout across public profiles, with the caveats below carrying the limits.

## The caveats are load-bearing

- **Public split:** public artifacts show sanitized summaries and public-safe metadata. Held-out prompts and raw reports stay out.

- **Subject shell matters:** Codex App, Codex CLI, Claude Code, and any future raw API run are different instruments unless the protocol fixes every variable.

- **Benchmark results, lab runs, and self-reported receipts are separate:** the reference benchmark rows orient the scale, native-shell lab rows describe specific shells, and bring-your-own-agent receipts are open self-reports.

- **Not certification:** an OPERANT badge is a receipt, not a safety guarantee. Completeness, reproducibility, model identity, and legal reuse require their own evidence and are not inferred from a badge.

## Score your own agent

The safest first run is the bundled local demo adapter. It uses the deterministic decision scorer, skips the LLM judge, and makes no provider calls:

```
python3 score_my_agent.py --adapter examples/heuristic_agent.py:respond \
  --label heuristic-baseline --axes decision --no-judge
```

Then swap in a Python callable, CLI command, or HTTP endpoint for your own agent. The output is a markdown report card, a summary JSON file, and a badge snippet. The honest badge language is **self-reported OPERANT OCS receipt**, paired with the report and the caveats.

## Where to go

- [OPERANT source](https://github.com/saagpatel/operant)

- [Public lab artifacts](https://github.com/saagpatel/operant/tree/main/lab/public)

- [Self-service receipt and pilot guardrails](https://github.com/saagpatel/operant/blob/main/docs/self-service-public-lab-certification-pilot.md)

- [Plain-English OPERANT field note](/notes/operant-benchmark.html)

- [Field report on auditing the benchmark itself](/writing/auditing-the-auditor)
