"This patch includes a generic mechanism for arbitrary requirement vector
evaluation (i.e., substituting is_req_active() with a custom callback)."
Could you split that to a separate patch? So that unrelated functionalities would not be tied to acceptance (schedule) of this patch. I didn't look it closely, but noticed that you have parameters with _sz -suffix in their name, but which are not of type size_t. Should they?
A split from #46046
cazfi