Create a binding scoped to either a scenario or an agent.
The scope discriminator must match the populated id: scope='scenario' requires scenario_id and forbids agent_id (and vice-versa).
is_critical=True marks this binding's runs as load-bearing for the session's headline success/partial/failure verdict. Non-critical bindings still run and display, but don't move the session pill.
Successful Response