How settings are scoped per-button (stored inside the button blob) and per-role (stored in role-specific options), how the cascade resolves conflicts, and the gotchas around blob-shaped per-button storage.
How button definitions are persisted: serialized arrays in the local-app-button-array* options. Why the option key is frozen, the per-role variants, and the implications for renames or schema changes.
mam_codex_manager — the settings inspection / discovery API. Lets admin tooling enumerate all registered settings, categories, and content-class field schemas without parsing PHP source.
The convention for which priority to use when registering against mam_get_phone_data_before_send. Critical contracts: priority 1000 for home_cats, 1001+ for total overrides, 199 for form-state validation, 10 for the default cohort.
The AJAX entry point for the mobile API. Frozen public contract: action name local_app_get_phone_data plus the modern alias mam_get_phone_data. Both delegate to MAM_Phone_Data_Pipeline::run().
Can't find the answer you're looking for? Don't worry we're here to help!