What is deprecated_argument_run meant to do exactly?

As @sally-cj already hinted at in his comment this is used for debugging purposes, helping developers by notifying them of the use of deprecated arguments in their codebase.

In core this is for example used to alert people of wrong arguments when using the REST API: https://core.trac.wordpress.org/browser/branches/5.2/src/wp-includes/rest-api.php#L177

But you could add your own function to that hook that does whatever you find useful – send a mail, log to a file,…


Core uses it inside the (private, so not intended for use by non core code) _deprecated_argument function.
And that function _deprecated_argument is actually used all over the place in core, for example inside get_the_author to give one random example.

error code: 523