Status
Priority
High
ECA model to enforce audience policy on content save, populating field_audience_approved from field_community_audience based on the effective policy per ADR-0022.
On node save (for all content types with field_community_audience):
1. For each community TID in field_community_audience:
- Load the community term
- Read field_audience_policy_override
- If override != "inherit" → use override value
- Else → load community's field_rsvp_community_type term and read field_audience_policy
2. Apply effective policy:
- open → copy TID to field_audience_approved immediately
- moderated → hold; surface in target community manager's moderation queue View
- closed → silently remove TID from field_community_audience
Views filter update (coordinate with this card):
- All community-scoped listing Views should filter on field_audience_approved (not field_community_audience)
- field_community_owner OR field_audience_approved contains [community TID]
Until this ECA model is live, Views should continue filtering on field_community_audience as a fallback.