Information-Source Portfolios
Use information_source_portfolio_value when candidate datasets, surveys,
vendors, sensors or reviews share dependence and procurement constraints. This
method is distinct from the legacy additive study portfolio helper: every
source observation and action payoff lives in one declared finite joint-world
law.
import jsonfrom pathlib import Path
from voiage import information_source_portfolio_value
request = json.loads( Path("specs/frontier/information-source-portfolio/v1/fixtures/normative/input.json") .read_text())result = information_source_portfolio_value(request).to_contract_dict()print(result["optimum"]["source_sequence"], result["optimum"]["net_value"])The result contains every feasible sequence, complete policy and sequence ties, gross and net value, willingness to pay, switches, prefix-conditional marginal values and exact Shapley attribution of decision value. Shapley here explains the gross decision-value game over the selected sources; it is not predictive Data Shapley.
The CLI returns the same versioned contract:
voiage --format json calculate-information-source-portfolio request.jsonAll rights receipts must be cleared. Cost, time and value bases must be commensurate. The exact v1 search is bounded to seven sources. Adaptive stopping, probabilistic channels outside the declared worlds, approximate optimization, Rust, R and Julia are unsupported. The method remains experimental pending scientific review, hosted installed-wheel assurance, polyglot parity and separate stable-promotion approval.