Where do $metadata events / $$stream-id come from?


I’ve never seen an event of type $metadata or the $$streams they get written to before today. We wrote a one-time projection to emit some new events in the context of a data transformation (I think we did not do that before and the projection was created in the GUI if that is relevant). After that my back-end threw an exception because it couldn’t handle the new event type “$metadata” so I went looking. Looking at the streams I assume that for every new stream my projection created, a metadata stream has been created as well. There is always only event containing data in the form of an empty ACL.

Can somebody tell me if that’s correct and why there are metadata streams that are showing up now and didn’t before? Can I somehow prevent the creation of this metadata stream? Of course I can handle these events in the back-end (and I will now that I know of their existence), but it seems weird that they didn’t show up before.

Regards, Kaspar