Currently the condition manager does not set the observed generation of a condition. This prevents a caller from comparing a resource's generation with a condition's observed generation, i.e. ensuring that a condition is not stale but valid for a given spec.
Adjust the ConditionManager to always set the condition's observedGeneration to the resource's .metadata.generation when setting a condition on a resource's status. This should be the default behaviour.