Outcome-Conditional Sample Information
The experimental outcome_conditional_sample_information_value API reports
what a proposed finite measurement may be worth for each possible outcome,
rather than reporting EVSI alone.
import jsonfrom pathlib import Path
from voiage import outcome_conditional_sample_information_value
request = json.loads( Path( "specs/frontier/outcome-conditional-sample-information/v1/fixtures/" "normative/input.json" ).read_text())result = outcome_conditional_sample_information_value(request).to_contract_dict()
print(result["aggregate"]["evsi"])print(result["aggregate"]["sigma_vsi"])print(result["aggregate"]["low_value_risks"])For each outcome x, delta_ev is the direction-aware shift in the posterior
optimal system objective, while vsi is the nonnegative posterior gain over
the declared baseline-optimal reference action. Their expectations both equal
EVSI; their outcome-wise values, variances, standard deviations and tails do
not generally agree.
sigma_vsi is Equation 10’s predictive-probability-weighted population
standard deviation (ddof = 0). It is not the unweighted sample standard
deviation used by the paper’s supplementary MATLAB/Table 3 calculation.
low_value_risks reports P(VSI_x <= delta) for every declared nonnegative
threshold. When policies tie, this probability is deliberately separate from
reference-action exclusion, mandatory switching, and complete tie-set change.
tie_tolerance is expressed in the declared value unit; probability tolerance
is never used to truncate value metrics or Equation 10 dispersion. A lower-tail
mass of zero reports the limiting finite essential minimum.
Run the same strict contract from the CLI:
voiage --format json calculate-outcome-conditional-sample-information request.jsonThe result is bound to a canonical input digest and can be reconstructed without the original runtime object. Continuous outcomes, fitted-estimator calibration, dynamic/adaptive sampling, underlying-system risk, Rust/R/Julia execution, stable promotion and scientific approval remain unsupported gates.