Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

grid_score

Carry forecasts forward over a frozen time grid and average within one question.

Contract

Updates and grid times must increase strictly. A forecast must exist at the first grid point. Extra posts between grid points do not gain additional weight; the caller chooses a valid event-window grid.

Fields

FieldTypeRequired
gridarray of integerYes
op"grid_score"Yes
outcomebooleanYes
updatesarray of SnapshotYes

This operation needs no existing question or forecast. Use --memory for a calculation-only session.

Request

Send this object on one line. It is expanded below for readability.

{
  "version": 1,
  "id": "example",
  "command": {
    "op": "grid_score",
    "updates": [
      {
        "at": 0,
        "probability": 0.2
      },
      {
        "at": 5,
        "probability": 0.7
      }
    ],
    "grid": [
      0,
      10,
      20
    ],
    "outcome": true
  }
}

Response

This response is generated by executing the example against the current binary. Commit timestamps, when present, are shown as <runtime UTC seconds>; the actual protocol returns integer UTC seconds.

{
  "version": 1,
  "id": "example",
  "result": {
    "binary_brier": 0.27333333333333343,
    "grid_points": 3
  }
}

Verification

The documentation gate executes the setup and request, then checks the following result fields against independently specified expectations:

JSON pointer within resultExpected
/binary_brier0.2733333333333333
/grid_points3

Float comparisons use a 1e-12 tolerance. Request schema validation and cross-record validation still apply. See errors and recovery for failure handling.