sim_diagnose
Returns what one more of each resource (and a change in each rate) is worth to the outcome, each ranked against a measured noise floor — no fitness test to write. Also reports generic gates (mass balance, dormant sources, staffing knee and practical knee, whether any knob binds), parameter classes among the controls, and four structural readings needing no run (T-invariants, siphons/traps with deadlock witnesses, CTMC lumpability, constrained lumping); a lumping or siphon reading that does not apply is one "not applicable" line unless verbose. Pure read. Loss/success inference and objective framing can be corrected by tagging places or declaring simulation.objective — read the sim://docs/classification resource once for how to read influence, noise, the knee and structural readings.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | model id | |
| seed | No | seed shared by every run, so differences measure the knob and not the dice (default 7) | |
| hours | No | horizon per run (default 8, max 168) | |
| verbose | No | default false: a structural reading that does not apply (ctmcLumping, constrainedLumping, or siphons when its search did not finish) keeps applicable: false and one refusals line, "not applicable: <reason>", without its fixed scope text. true returns every refusal and scope in full. Changes no measurement and costs nothing extra. | |
| realizations | No | runs averaged per measurement, max 200. Leave unset and the default ADAPTS: a 24-realization pilot that doubles while the baseline outcome sits inside its own noise floor, up to 200 (or maxRealizations, if set); the report's realizations field and sample-size finding record where it settled and why. Set it and that exact count is used, never more. If the report still says underpowered after adapting, raise hours or set a count explicitly. | |
| inline_context | No | embed the full JSON-LD @context map in the result instead of the URL it is served from (https://sim.pflow.xyz/ns/v1/context). Default false: the URL resolves to the identical map, so only set this for an offline consumer that cannot fetch it. | |
| maxRealizations | No | bounds how far the adaptive default may escalate (default 200, the same ceiling an explicit realizations refuses above). Ignored once realizations is set. For a caller with its own latency budget, not for narrowing a report. |