M2: the aggregate command surface, and the refusals that had to come first #2

Merged
dev merged 8 commits from m2-aggregate-command-surface into main 2026-08-09 18:07:51 +00:00
2 changed files with 8 additions and 5 deletions
Showing only changes of commit b481f39ca3 - Show all commits

View File

@@ -403,8 +403,9 @@ inside `crud` and test the aggregate *command* — cursor and `batchSize`,
`readConcern` routing, the write semantics of `$out`/`$merge`, `collation`,
`let`. They touch stages barely and expressions not at all; `$lookup`,
`$unwind`, `$facet`, `$addFields` and `$replaceRoot` appear nowhere in the
pinned corpus. A literal "green" is unreachable besides, since 10 of the skips
are version- or topology-gated and cannot pass on a standalone.
pinned corpus. A literal "green" is unreachable besides: all 19 skips are
version- or topology-gated and none can pass on a standalone, so the gate is
stated as *0 fail* rather than *all pass*.
So one milestone name was covering two milestones, and they are split.

View File

@@ -52,9 +52,11 @@ aggregate-*.json overall 9 pass 13 fail 19 skip
| `collation` in aggregate | 1 |
| `let` | 1 |
Of the 19 skips, 13 are environmental (`needs topology replicaset`, `needs
server >= 5.0`, `needs server >= 8.2.0`) and can never turn green on a
standalone. A literal reading of "green" is unreachable for that reason alone.
All 19 skips are environmental -- 10 distinct requirements, some covering a
whole file at once (`needs topology replicaset`, `needs server >= 5.0`, `needs
server >= 8.2.0`, `needs server <= 4.2.99`). Not one can turn green on a
standalone, so a literal reading of "green" is unreachable for that reason
alone, and the gate has to be stated as *0 fail* rather than *all pass*.
---