Since #87849 and #88534 it is possible that anomaly detection jobs and datafeeds will encounter the `aggregate_metric_double` type.

We need to investigate how this will affect certain aspects of their behaviour:

1. Specifying detector fields when the datafeed is using an aggregation
2. Specifying detector fields when the datafeed is not using an aggregation
3. Ability to switch a datafeed between using an aggregation and not using an aggregation without deleting and recreating the job
4. Correct identification of whether to use `_source` or doc values to get values from `aggregate_metric_double` fields
5. How to appropriately set `summary_count_field` when using `aggregate_metric_double`

Based on this investigation decide what changes we should make to either code or documentation.
x-pack/plugin/ml/qa/native-multi-node-tests/src/javaRestTest/java/org/elasticsearch/xpack/ml/integration/DatafeedJobsIT.java
equalTo(scrollBucket.getTimestamp())
                );
                assertThat(
                    "composite bucket ["
                        + compositeBucket.getTimestamp()
                        + "] ["
                        + compositeBucket.getEventCount()
                        + "] does not equal"
                        + " scroll bucket ["
                        + scrollBucket.getTimestamp()
                        + "] ["
                        + scrollBucket.getEventCount()
                        + "]",
                    compositeBucket.getEventCount(),
                    equalTo(scrollBucket.getEventCount())
                );
            } catch (AssertionError ae) {
                String originalMessage = ae.getMessage();
                try {
                    SearchSourceBuilder builder = new SearchSourceBuilder().query(
                        QueryBuilders.rangeQuery("time")
                            .gte(scrollBucket.getTimestamp().getTime())
                            .lte(scrollBucket.getTimestamp().getTime() + TimeValue.timeValueHours(1).getMillis())
                    ).size(10_000);
                    SearchHits hits = client().search(new SearchRequest().indices(indexName).source(builder)).actionGet().getHits();
                    fail("Hits: " + Strings.arrayToDelimitedString(hits.getHits(), "\n") + " \n failure: " + originalMessage);
                } catch (ElasticsearchException ee) {
                    fail("could not search indices for better info. Original failure: " + originalMessage);
                }
            }