When loading an extension temporarily Firefox is not requiring a browser_specific_settings.gecko.id property to be set in the manifest.json, but then Firefox requires it for installing the extension with the same manifest.json data non-temporarily and AMO also requires it on the xpi submitted for signing.
This behavior is meant to help developers to more easily test out extension manifest even if they are not including the browser_specific_settings.gecko.id property (e.g. while working on porting an extension from other browser vendors) but it may end up being confusing for developers that would then expect the same manifest.json to work as is when installed non-temporarily.
This issue is tracking emit a warning when web-ext run detects that the manifest is missing browser_specific_settings.gecko.id.