`nexyron.policy_decide`
Generic Description
nexyron.policy_decide select intervention targets from a registered policy using its bound model contract
CALL nexyron.procedures()
YIELD name, description, parameters, output_columns
WHERE name = 'nexyron.policy_decide'
RETURN name, description, parameters, output_columns
Semantic policy procedures evaluate, compare, decide, apply, and report on registered decision policies, including bandit, uplift, causal, and off-policy workflows.
Consumer-Level Explanation
This procedure belongs to the decisioning, intervention, scenario, or causal analysis layer. Use it when you want to choose actions, log actions, evaluate responses, or estimate treatment effects from the current abstraction contracts.
Parameters
name: Policy name Required.
Output Columns
subject_idsnapshot_tspredictioninterventionaction_typesourcemodel_versionpolicy_version
Example Contract Prerequisite
The executable Cypher blocks on this page query nexyron.procedures() so they work in an empty database and stay synchronized with the live procedure registry. A direct CALL nexyron.policy_decide(...) requires the named abstraction contracts, artifacts, features, snapshots, datasets, models, or policies referenced by that call to exist first; otherwise the runtime correctly fails with an unknown-contract error rather than inventing state.
Conceptual Explanation
The important thing about nexyron.policy_decide is that it stays inside the same Cypher and abstraction-contract runtime as the rest of Nexyron. That means it can compose with named abstractions, time-aware snapshot contracts, document-style payloads, graph-native identity, and later model or policy layers without forcing you to move into a separate tool first.
More Detailed Explanation
In practical queries, start by deciding the row grain you want after the call: one row per node, one row per path, one row per registry object, one row per artifact, or one row per summary. Then keep that grain explicit with YIELD and named projections. That is the difference between a useful planner-facing example and a vague call that downstream tooling cannot safely compose. For contract-driven abstraction procedures, the executable examples on these pages intentionally inspect procedure metadata unless the required named artifacts are created in the same example.
Advanced Example
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.policy_decide'
RETURN name,
[p IN parameters | p.name] AS parameter_names,
output_columns
ORDER BY name
Real Use Cases
- Decide which high-risk members should receive emails, offers, or coach calls using the same snapshot, dataset, and model contracts already used in training and evaluation.
- Estimate whether a retention policy creates real lift or only reorders the same members, including bandit, uplift, and causal analysis where those runtimes are available.
Real Limitations And Tradeoffs
- This surface is contract-driven. If the registered feature, snapshot, dataset, model, or policy definition is weak, the procedure will faithfully execute that weak contract rather than silently repairing it.
- Reported quality or causal metrics are only as defensible as the dataset, split, and temporal contract supplied underneath.