I don’t know if it could work due to the single-user constraints of Gramps but an idea could be a gramplet in which we could define some filter sets and tags, which would run permanently in a thread in the background. With 3 filter sets, one for all birth/baptism events with or without source (so a set of two filters), another for marriages and a 3rd for deaths/burials, if it found such events, it could add or remove a “Missing Source” tag to the event in question. This mechanism could be generalized to handle any filter sets and tags for any kind of objects that can be filtered and tagged. But, if such a mechanism worked, I don’t know what its side effects could be if filters made it do contradictory things (a filter removes a tag if it is present, another puts it if it is absent…),
The What’s next gramplet could then be configurable to tell it which tags to monitor, such as “Missing source”, in order to display the list of objects corresponding to this tag.
Or, when you are on a particular object, indicate if related objects have this tag (i.e. when editing a Person who has an event tagged with what has been configured as the tag to search for)
It could be an other way to do what @Urchello want to do in SQL in Using Gramps API vs SQLite: Creating Custom Queries for Genealogical Research - #2 by Urchello