Skip to content
Documentation navigation +
implemented

WorldSpec 1.0.0

Schema: https://www.alivehealthtech.com/schemas/worldspec/1.0.0.json. Examples: fixtures/worlds/ in the repository. A WorldSpec is only needed when a plan recommends simulation.

Field Meaning
run seed, horizon_days (≤365), warmup_days, replications (≤1000), max_wall_seconds.
population size (≤1,000,000), generator (a catalog model), geography, calibration_status.
components[] id, type (actor, organization, environment, process, system, evaluator), model_ref such as alive.process.referral@1, config.
edges[] {"from": "component.output_port", "to": "component.input_port"}; ports come from the catalog.
interventions[] id, kind, mode, connection_id (mock-* built-in adapters today), attach_to, config.
variants[] Exactly one baseline and at least one treatment for comparisons; each lists active interventions and parameter overrides.
evaluation metrics[] with a registered metric_ref and typed params; assertions[]; comparison; confidence_level.
cost_scenarios[] Optional per-event resource cost assumptions and explicit additional costs; see operational economics.
privacy data_classification is always synthetic_only.
evidence_refs[] Citations for parameters marked public_evidence.

Parameters and provenance

A config value can be a bare number (recorded as a synthetic_assumption) or a parameter object:

{
  "distribution": { "family": "lognormal", "params": { "mu": 2.871, "sigma": 0.5 } },
  "unit": "minutes",
  "provenance": "public_evidence",
  "evidence_ids": ["navigator_contact_minutes"],
  "note": "How the value was derived."
}

Provenance is one of measured, public_evidence (must cite evidence_ids), expert_assumption or synthetic_assumption. Model defaults come from Alive's cited evidence catalog; see each model on the models page.

Validation

POST /v1/world-specs/validate (free, no account) and uv run alive world validate check, beyond the schema: model availability and type, port names, parameter names, types, units and ranges, probability distributions confined to [0, 1], metric references and the events they read, intervention compatibility, that no metric claims a higher evidence grade than its models, and your plan's run limits. All problems are reported at once, each with a code and path.

Metric references available today: alive.metric.count@1, ratio@1, rate_per_day@1, duration_mean@1, duration_quantile@1, payload_mean@1, utilization@1. Assertions: alive.assert.no_orphan_events@1, no_events@1, max_count@1, requests_settled@1.