Quantitative semantics

mixle.semantics defines the small domain-neutral contract shared by probabilistic consumers. A ValueSpec states identity, role, unit, shape, transform, constraints, prior and derivation without naming a solver or job. ObservationSpec binds immutable data content to a likelihood and optional measurement uncertainty. Posterior, predictive, calibration, decision and uncertainty artifacts retain those links.

Semantic identity uses canonical JSON and excludes fields explicitly marked as operational, currently sample location, backend identifier and job identifier. Moving identical content between NumPy, JAX or a remote job therefore preserves identity; changing a prior, unit, transform, constraint, observation, seed, likelihood, method, summary, diagnostic or uncertainty component does not.

The packaged fixtures/quantitative-semantics-v1.json is the cross-project contract for Inquiry and inverse-physics readers. It declares one positive latent source rate, log transform, bounded constraint, lognormal prior, content-addressed observation, discrepancy-aware likelihood, fixed random seed and required uncertainty classes. Consumer repositories should validate the fixture without importing their orchestration into Core.

Transforms expose forward, inverse and log-absolute-Jacobian operations and fail outside their mathematical domains. Invalid role/prior/value combinations, unit omissions, dangling posterior references and incomplete uncertainty payloads fail at construction.

Boundary

Core owns these meanings and quantitative algorithms. It does not decide which question to ask, store claims, acquire data, choose physical laws, discretize a domain, schedule a job, or deploy a model. CapabilityExtension and TraceSink are deliberately structural protocols so consumers need no private imports or reverse dependencies.