Feature rule identifier raw names must match their filenames. This is counter to every other system in add-ons, where the 2 need not be tightly coupled. Not too long ago, features suffered from the same problem; this issue was fixed for them but not for feature rules.
Demonstration
The attached screenshot demonstrates this issue. Content log errors are shown that indicate the load failure of the feature rule.
The feature rule filename is demo.json, while its identifier is bug_features:glowstone_placement. The engine is expecting the filename to be glowstone_placement.json.
Reproduction
The demo screenshot is taken from the behavior pack in the attached world for convenience. This world can be opened (in Minecraft Preview) for inspection or unzipped to access the code associated with such.
Thank you for helping us improve Minecraft! We saved your files: