Introduce ES Execution Fallback Base Framework
### Problem Statement
There is no shared or standardised mechanism to handle fallback execution when Elasticsearch cannot yet support certain filters. Each resolver must either block on ES support or implement custom logic, leading to:
- Inconsistent behavior
- Risk of pagination gaps
- Tight coupling between feature delivery and ES migrations
- Harder maintenance and testing
### Solution
Introduce `ExecutionFallback::Base`, a reusable framework that:
- Splits fallback filters from ES query arguments
- Determines when fallback is active (feature flags + migration state)
- Protects pagination via bounded over-fetching
- Runs enrichment queries in batches
- Applies Ruby-side filtering and trims results safely
This establishes a single, safe execution model for all future fallback-enabled resolvers.
issue