Retained language bindings
The v1.0 programme keeps the following language surfaces. Each adapter delegates stable numerical policy to the Rust core and is tested against the shared reference fixtures.
| Surface | Adapter | Supported runtimes | Registry | Release tag | External gate |
|---|---|---|---|---|---|
| Python | PyO3 | Python 3.12, 3.13, 3.14 | PyPI/TestPyPI; conda-forge | v* |
conda-forge feedstock review and merge |
| R | C ABI | R 4.3 | CRAN or approved R registry; r-universe | r-v* |
CRAN maintainer review or approved R registry indexing |
| Julia | C ABI with artifact packaging externally gated | Julia 1.10, 1.11 | Julia General | julia-v* |
BinaryBuilder acceptance, then General registration and merge |
| Rust | Native Rust workspace | Rust 1.85, stable | GitHub Releases (workspace artifact) | rust-v* |
A separately designed publishable facade crate is required for crates.io |
The matrix is normative at
specs/v1/binding-matrix.json.
Registry publication and indexing are external gates; repository readiness does
not imply that an artifact is live.
The released v1 matrix is immutable. Current clean-package assurance also targets Julia 1.12, but that target does not rewrite the released v1 contract.
Current method-level capability matrix
Section titled “Current method-level capability matrix”Packaging retention does not imply method parity. The current capability registry is normative for what each installed surface may claim:
| Capability | Python | Rust | C ABI | R | Julia |
|---|---|---|---|---|---|
DecisionProblem |
stable | internal type | unavailable | unavailable | unavailable |
ValueArray / ParameterSet |
stable | internal types | raw-array contract only | native inputs | native inputs |
| EVPI | stable, Rust-backed | stable | stable v1 | stable native | stable native |
| ENBS | stable, Rust-backed | stable | stable v1 | stable native | stable native |
| EVPPI | stable, Rust-backed | stable kernel | unavailable | Python compatibility bridge | unavailable |
| EVSI | stable method-specific | shared kernels plus Python orchestration | unavailable | Python compatibility bridge | unavailable |
| Analytical two-arm normal EVSI | stable, Rust-backed | stable | unavailable | unavailable | unavailable |
| CEAF | stable, Rust-backed | stable | unavailable | unavailable | unavailable |
| Dominance | stable, Rust-backed | stable | unavailable | unavailable | unavailable |
| CLI, ingestion, plotting, reporting | stable | not a public surface | not applicable | not exposed | not exposed |
| Experimental methods | experimental | method-specific or absent | prohibited without promotion | not exposed | not exposed |
See
specs/bindings/current-capability-matrix.json.
Expected-utility information-pricing capability
Section titled “Expected-utility information-pricing capability”This additive experimental method family does not alter the retained v1.0 binding matrix above.
| Surface | Method status | Evidence boundary |
|---|---|---|
| Rust | Executable | voiage_numerics::expected_utility_information is the numerical authority |
| Python | Executable | PyO3-backed expected_utility_information_value and VoC presentation helper |
| R | Unsupported | No method-specific C ABI or R facade is implemented |
| Julia | Unsupported | No method-specific C ABI or Julia facade is implemented |
| Mojo | External boundary | No local Mojo binding is claimed |
The machine-readable disposition is
specs/frontier/expected-utility-information-pricing/v1/capabilities.json.
Unsupported bindings must not be inferred from the wider EVPI surfaces.