Amp’s decision-model documentation shows how a plugin can ask Jev bounded questions inside a coding-agent workflow. Its shell-command example also makes the safety boundary clear: a plugin must decide what to do when the model is wrong or unavailable.
The interface
amp.ai.decideasks named questions against shared state and returns typed answers. Thenoul,choiceandscorehelpers handle individual questions.- The documentation’s example classifies a shell command for destructive behavior and scope, then rejects a call above its chosen threshold. That example is illustrative, not an evaluated security control.
- Amp says it also uses Jev internally to order diff files and suggest thread labels. This usage claim was not independently verified here.
Make failures and model changes visible
- Jev is the default; a plugin can explicitly select OpenAI’s Decisions API instead. Amp says a rejected or unconfigured selection does not silently fall through to the other provider.
- Catch errors and deliberately choose whether a decision failure allows or blocks an action. The documentation’s fail-open example is a design choice, not a safe default for every workflow.
- Log the exact returned model version and retest thresholds after a model change. Amp warns that thresholds calibrated for one model do not automatically transfer to another.
- Treat untrusted state as input that can steer the decision. A typed response guarantees a usable shape, not a correct classification or a calibrated probability on your data.
Before using a decision to gate commands, test representative allowed and disallowed cases, including cases near the chosen threshold. I read the documentation; I did not run the plugin or test its defenses.