Extending Mojo::Promise
I'm not entirely sure I understand what this does, but here goes.


Mojolicious doesn't use Moose. I would think long and hard whether I'd extend a Mojo::Base class with Moose. Does this work properly?
There are several instances of required together with default and lazy in your new attributes. Those do not make sense together. If it's required it needs to be passed in at construction. There is no need to make it lazy then as it will always be there from the start.
Your default for both reject_filter as well as resolve_filter are subs that return undef implicitly. That means if you don't pass those in, everything is discarded. Is that the intended behavior?
Your class is a subclass of Mojo::Promise, so there is no need to call Mojo::Promise-&gt;all. It's got an inherited -&gt;all method that you can call on $self. (Mojo::Promise-&gt;all) returns a new object, so this breaks.