You might want to look at what gnus does. In particular, it copies the article buffer first using gnus-copy-article-buffer (in gnus-msg.el) before considering the styles. That copy of the article buffer should be accessible in your max-gnus-predicate function... if I understand the gnus code correctly which is a big *if*.
-- Eric S Fraga via gnus (Emacs 30.0.50 2023-09-14) on Debian 12.2