Backtest and forward results are never averaged together. The seam below is the boundary: nothing under it was fitted.
{
"endpoint": "/v1/scorecard",
"separation": {
"backtest": "excluded_from_track_record",
"forward": "graded"
},
"forward": [
{
"arena": "Housing / United States",
"locked": 30,
"graded": 0,
"misses": null,
"summary": "awaiting_first_grade"
},
{
"arena": "Housing / Canada",
"locked": 0,
"graded": 0,
"misses": null,
"summary": "no_forecasts_yet"
}
],
"backtest": {
"graded": null,
"rates": "not_published"
}
} | ARENA | LOCKED | GRADED | MISSES | SUMMARY |
|---|---|---|---|---|
| Housing / United States | 30 | 0 | — | AWAITING FIRST GRADE |
| Housing / Canada | 0 | 0 | — | NO FORECASTS YET |
A forecast that cannot be checked is an opinion. Every stage below writes a record you can read back; the grade is arithmetic on records that already exist.
An arena appears here because the Lab intends to cover it. It carries figures only once it has issued forecasts — the four marked in development have no pipeline running and no numbers to show, and saying so is the point of the list.
Every graded number on this site has a stable anchor, a schema.org record, and a JSON manifest at the same path. Agents read the same ledger humans do — no summary layer in between.
The v1 API has not been cut over yet. It still serves the design fixture set and stamps sample:true on every payload, so it does not yet contain the locked forecasts shown above. Read those from the vintage pages until it does.