2.3. Required vs optional fields
2.3.1. Required for both kinds
key | type | meaning |
|---|---|---|
| integer |
Always |
| string |
|
| string | Fully-qualified Lean name of the registered benchmark. |
| integer | Wall time in nanoseconds for the measured work. |
| string |
One of |
2.3.2. Required for parametric only
key | type | meaning |
|---|---|---|
| integer | Ladder parameter the function was invoked with. |
| integer |
Auto-tuned inner repeat count. |
2.3.3. Required for fixed only
key | type | meaning |
|---|---|---|
| integer |
0-based index across the configured |
2.3.4. Optional fields (both kinds)
These are emitted today. Readers MUST treat absence as if the
field were null.
key | type | meaning |
|---|---|---|
| string | null |
Hex-prefixed |
| string | null |
Free-form message for |
| object | null | Reproducibility metadata captured at child startup — see the Environment metadata section below. Emitted on every row by current writers. |
| integer | null |
Total bytes allocated by the Lean runtime over the child's lifetime. Always |
| integer | null |
Peak resident-set size of the child process, in kibibytes (1024 bytes). On Linux read from |
2.3.5. Optional fields (parametric only)
key | type | meaning |
|---|---|---|
| number | null |
|
| string |
|
2.3.6. Reserved-for-future-use fields
The following keys are reserved by the issues that prompted this schema and will land as additive (non-breaking) fields. They are listed here so concurrent feature work claims a stable name from the start:
No keys are currently reserved — every previously-reserved name
has either landed (alloc_bytes / peak_rss_kb from issue
#6 are now real
optional fields, listed above) or been released (budget_status
from issue #9
was not needed; see below).
Producers MUST NOT silently start emitting new keys with the same name as any landed field except as described in that field's landing PR.
The CI-budget mode landed in issue
#9 surfaces
budgeted-run state at the export-document level rather than
per-row. There is no row-level budget_status field: a benchmark
that's skipped because the budget was exhausted before it started
doesn't produce any rows at all, and a benchmark whose ladder was
cut short between rungs records budgetTruncated on the export's
per-result object (see Export budget summary, below). The
reserved name budget_status was carried by earlier drafts of
this schema doc but is now released; future feature work is free
to claim it.