As @HanonO said, Inform does check for this behind the scenes.
In the (slightly old) version of Standard Rules, I see the lines
The notify score changes rule is listed last in the turn sequence rulebook. [Last.]
This is the notify score changes rule:
if the score is not the last notified score:
issue score notification message;
now the last notified score is the score;
What this means is, Inform may process it more than once, but it’s not a big deal in terms of processing time, since it’s just one if-then statement, and it isn’t doing anything complex like seeing if you can see an item.
So it should be there, but if not, there’s a workaround, and I was surprised how simple it was! This may be a tangent, but hopefully it helps you feel agency being able to adjust score-checking as needed.
I had a case in one game where a player got a point if they performed an action, but it didn’t cause a turn to go forward, according to Inform, because I caught it in the parser error rules.
The big example is probably if you have a code word and want to check if it is in the player’s command. You can also check in the “After reading a command” rules.
after reading a command:
if the player's command includes "booyah":
say "Cooler than the other side of the pillow, you drop an incontrovertibly authoritative and decisive booyah.";
increment the score;
reject the player's command;
This doesn’t display a score change without follow/consider/process the notify score changes rule;
(Also, it gives points repeatedly. Blocking this is an exercise for the reader.)
Another example would be an (admittedly odd) tutorial where you got a point for requesting the score for the first time or using “mistake” syntax, e.g.
Also,
understand "xyzzy" as a mistake ("OK, have a point.[point-up]")
to say point-up:
increment the score;
follow the notify score changes rule; [this creates extra line break problems, but you get the idea]