mysqld can be set to read-only with --read-only at startup, which is reflected in the read_only global.
When we attempt to perform writes and they fail because this mode is set, we should degrade to read-only mode as though cluster.read-only was set.
In a true master + replica cluster configuration this is probably moot (you'd just take down whichever database you needed to, probably?) but if operations and Phabricator administration aren't the same teams (or the ops team is just more familiar with MySQL than advanced Phabricator options) the intent of putting MySQL into --read-only is unambiguous.