Where/when to add a tag when a gamepllay attribute is "full?"

I’m trying to setup GAS attributes in c++, and can’t get my bp-based stamina/health regen effects to consistently stop regenerating at full stamina/health.

I’ve tried clamping the values in PreAttributeChange and PostGameplayEffectExecute function overrides, but the base value still goes up to infinity. Thought maybe I could just remove the effect with a wait for attribute change node in actor bp if new value>= the matching “max _” attribute, but this is unreliable because it seems sometimes the last clamped effect tick doesn’t fire the notify so wait for change doesn’t get a change.

As such, I’m thinking a better approach would be to add a tag to the ability system comp like Attribute.Stamina.Full or some such when it hits max, and use that as a blocking tag on regen effect. And remove it when attribute<max.

Where would such logic go tho? Should it be in PostGameplayEffectExecute function override or somewhere else?

And on that note, if any Epic devs happen to read this: Why isn’t there a native/premade mod op on gameplay effects to Add Current which automatically clamps to the affected attribute’s base value?