value_of_information
Measure net expected decision value of observing an indicator before acting.
Contract
The indicator’s implied prior defines the baseline. Cost is nonnegative in the same utility units as actions. Negative net value is legitimate; information gain alone need not change an action.
Fields
| Field | Type | Required |
|---|---|---|
actions | array of Action | Yes |
cost | number | Yes |
indicator | Indicator | Yes |
op | "value_of_information" | Yes |
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": "value_of_information",
"actions": [
{
"if_yes": 10.0,
"if_no": -10.0
},
{
"if_yes": 0.0,
"if_no": 0.0
}
],
"indicator": {
"chance": 0.5,
"if_yes": 1.0,
"if_no": 0.0
},
"cost": 1.0
}
}
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": {
"net_value": 4.0
}
}
Verification
The documentation gate executes the setup and request, then checks the following result fields against independently specified expectations:
JSON pointer within result | Expected |
|---|---|
/net_value | 4.0 |
Float comparisons use a 1e-12 tolerance. Request schema validation and cross-record validation still apply. See errors and recovery for failure handling.