The installed schema version for one module, straight out of key_value.
UpdateHookRegistry reads exactly this row (core.services.yml:1979 wires it to
@keyvalue, and KeyValueFactory::get('system.schema') resolves to
DatabaseStorage on the key_value table with collection = 'system.schema').
Reading it in JS is what lets a precondition refuse without booting PHP.
The installed schema version for one module, straight out of
key_value.UpdateHookRegistryreads exactly this row (core.services.yml:1979wires it to@keyvalue, andKeyValueFactory::get('system.schema')resolves toDatabaseStorageon thekey_valuetable withcollection = 'system.schema'). Reading it in JS is what lets a precondition refuse without booting PHP.