|
| 1 | +# Benchmark contracts |
| 2 | + |
| 3 | +[Benchmark home](../README.md) |
| 4 | + |
| 5 | +Harbor benchmarks are external evaluation assets. A task owns its |
| 6 | +agent-visible instruction, hidden Oracle material, verifier, pinned environment, |
| 7 | +and task digest under `benchmarks/datasets/`. Jacobian is an experimental |
| 8 | +treatment the benchmark may expose; benchmark design does not extend Jacobian's |
| 9 | +public API. |
| 10 | + |
| 11 | +Choose tasks for the mathematical capability they measure, including |
| 12 | +capabilities the current operation library cannot solve. Freeze task and |
| 13 | +environment identity, keep hidden material out of the agent environment, and |
| 14 | +report limitations with the result. |
| 15 | + |
| 16 | +## Public submission contract |
| 17 | + |
| 18 | +For an atomic mathematical task, reward is normally binary: `1` only when the |
| 19 | +verifier can replay the submitted result against the frozen input and every |
| 20 | +declared witness condition holds; otherwise `0`. Tool calls, prose, confidence, |
| 21 | +and diagnostic observations do not earn credit. |
| 22 | + |
| 23 | +The public submission is normally `{ "result": ... }`. Add `"witness"` only |
| 24 | +for a finite task-specific mathematical object that replay cannot derive from |
| 25 | +the input and result. Do not require duplicate result files, prose |
| 26 | +explanations, leaked conclusions, or verifier-derived status fields. |
| 27 | + |
| 28 | +The instruction, submission schema, hidden solver, and verifier must accept the |
| 29 | +same objects. When a schema changes, update all four together plus the gold |
| 30 | +submission and public-contract fixture. |
| 31 | + |
| 32 | +## Replay authority |
| 33 | + |
| 34 | +Correctness comes from task-local replay using the frozen verifier copy of |
| 35 | +`input.json` and the submitted mathematical value. `tests/expected.json` is an |
| 36 | +Oracle regression fixture, not the definition of correctness. Changing only an |
| 37 | +expected fixture must not change reward for a fixed input/submission pair. |
| 38 | + |
| 39 | +Independent claims must be checked independently. A corrupted field or failed |
| 40 | +subclaim must not decide an unrelated collision, invertibility, completeness, |
| 41 | +or witness claim. |
| 42 | + |
| 43 | +## Mathematical representations |
| 44 | + |
| 45 | +Compare represented mathematical values rather than preferred renderings: |
| 46 | + |
| 47 | +- parse structured rationals as exact fractions; |
| 48 | +- treat sets, maps, distributions, and sparse polynomials as unordered unless |
| 49 | + order is mathematically part of the task; |
| 50 | +- represent formulas with the smallest task-owned structure rather than scored |
| 51 | + prose; |
| 52 | +- require canonical form only when canonicalization is itself a stated outcome. |
| 53 | + |
| 54 | +Reject malformed types, booleans used as integers, invalid denominators, |
| 55 | +non-finite values, and resource-bound violations at the boundary. |
| 56 | + |
| 57 | +## Witnesses and artifacts |
| 58 | + |
| 59 | +`answer.txt` is not an authoritative submission interface. A witness artifact |
| 60 | +is justified only when replay needs an external finite object; it must not |
| 61 | +mirror or hash `result`, carry boilerplate prose, or exist merely because an |
| 62 | +older task used one. Gold witness paths must resolve to regular files beneath |
| 63 | +the task's `solution/` root. |
| 64 | + |
| 65 | +Generated task families should expose only the certificate variants their |
| 66 | +public claim can reward. Do not publish one universal certificate union across |
| 67 | +unrelated claim families. |
| 68 | + |
| 69 | +## Evaluation output |
| 70 | + |
| 71 | +Task bundles and immutable snapshot locks are reproducibility inputs. Run |
| 72 | +outputs, trajectories, reports, and other regenerable evidence belong under |
| 73 | +ignored `benchmarks/results/` or external artifact storage. A benchmark result |
| 74 | +is evidence about the experiment; it is not a new mathematical or product |
| 75 | +contract for Jacobian. |
0 commit comments