Was fighting a script that worked perfectly in our test environment but kept failing in production.
Figured someone made a mistake copying and pasting the script, but that was not the case. The scripts were identical.
Then only difference was the display name. In PRD, the display name for the script was changed to include a site prefix for a site that uses a "/" in its name. it's two diff departments that recently merged, so the site is named DeptA/DeptB.
For POLICY names, this prefix has never a problem, but it appears that the presence of the "/" character will break script execution. Once we removed the "/" from the Display name of the script in production, it immediately started working properly whether called from Self Service or any other trigger.
so the question is "why?" I thought all objects in the database were assigned a ID number--that the "Display Name" is just for the web front end....there's nothing in the documentation that specifics any sort of naming conventions or warns against using illegal characters in script Display Names.