diff --git a/test/spec/unified-test-format/Makefile b/test/spec/unified-test-format/Makefile
index 9711d9eee0e..a2b79e3f70b 100644
--- a/test/spec/unified-test-format/Makefile
+++ b/test/spec/unified-test-format/Makefile
@@ -1,8 +1,8 @@
-SCHEMA=../schema-1.5.json
+SCHEMA=../schema-1.21.json
 
-.PHONY: all invalid valid-fail valid-pass versioned-api load-balancers gridfs transactions crud collection-management sessions command-monitoring HAS_AJV
+.PHONY: all invalid valid-fail valid-pass atlas-data-lake versioned-api load-balancers gridfs transactions transactions-convenient-api crud collection-management read-write-concern retryable-reads retryable-writes sessions command-logging-and-monitoring client-side-operations-timeout HAS_AJV
 
-all: invalid valid-fail valid-pass versioned-api load-balancers gridfs transactions crud collection-management sessions command-monitoring
+all: invalid valid-fail valid-pass atlas-data-lake versioned-api load-balancers gridfs transactions transactions-convenient-api change-streams crud collection-management read-write-concern retryable-reads retryable-writes sessions command-logging-and-monitoring client-side-operations-timeout client-side-encryption
 
 invalid: HAS_AJV
 	@# Redirect stdout to hide expected validation errors
@@ -14,6 +14,9 @@ valid-fail: HAS_AJV
 valid-pass: HAS_AJV
 	@ajv test -s $(SCHEMA) -d "valid-pass/*.yml" --valid
 
+atlas-data-lake: HAS_AJV
+	@ajv test -s $(SCHEMA) -d "../../atlas-data-lake-testing/tests/unified/*.yml" --valid
+
 versioned-api: HAS_AJV
 	@ajv test -s $(SCHEMA) -d "../../versioned-api/tests/*.yml" --valid
 
@@ -26,17 +29,39 @@ gridfs: HAS_AJV
 transactions: HAS_AJV
 	@ajv test -s $(SCHEMA) -d "../../transactions/tests/unified/*.yml" --valid
 
+transactions-convenient-api: HAS_AJV
+	@ajv test -s $(SCHEMA) -d "../../transactions-convenient-api/tests/unified/*.yml" --valid
+
+change-streams: HAS_AJV
+	@ajv test -s $(SCHEMA) -d "../../change-streams/tests/unified/*.yml" --valid
+
+client-side-operations-timeout: HAS_AJV
+	@ajv test -s $(SCHEMA) -d "../../client-side-operations-timeout/tests/*.yml" --valid
+
 crud: HAS_AJV
 	@ajv test -s $(SCHEMA) -d "../../crud/tests/unified/*.yml" --valid
 
 collection-management: HAS_AJV
 	@ajv test -s $(SCHEMA) -d "../../collection-management/tests/*.yml" --valid
 
+read-write-concern: HAS_AJV
+	@ajv test -s $(SCHEMA) -d "../../read-write-concern/tests/operation/*.yml" --valid
+
+retryable-reads: HAS_AJV
+	@ajv test -s $(SCHEMA) -d "../../retryable-reads/tests/unified/*.yml" --valid
+
+retryable-writes: HAS_AJV
+	@ajv test -s $(SCHEMA) -d "../../retryable-writes/tests/unified/*.yml" --valid
+
 sessions: HAS_AJV
-	@ajv test -s $(SCHEMA) -d "../../sessions/tests/unified/*.yml" --valid
+	@ajv test -s $(SCHEMA) -d "../../sessions/tests/*.yml" --valid
+
+command-logging-and-monitoring: HAS_AJV
+	@ajv test -s $(SCHEMA) -d "../../command-logging-and-monitoring/tests/logging/*.yml" --valid
+	@ajv test -s $(SCHEMA) -d "../../command-logging-and-monitoring/tests/monitoring/*.yml" --valid
 
-command-monitoring: HAS_AJV
-	@ajv test -s $(SCHEMA) -d "../../command-monitoring/tests/unified/*.yml" --valid
+client-side-encryption: HAS_AJV
+	@ajv test -s $(SCHEMA) -d "../../client-side-encryption/tests/unified/*.yml" --valid
 
 HAS_AJV:
 	@if ! command -v ajv > /dev/null; then                \
diff --git a/test/spec/unified-test-format/valid-pass/collectionData-createOptions.yml b/test/spec/unified-test-format/valid-pass/collectionData-createOptions.yml
index 3b1c0c3a412..c6afedcfa96 100644
--- a/test/spec/unified-test-format/valid-pass/collectionData-createOptions.yml
+++ b/test/spec/unified-test-format/valid-pass/collectionData-createOptions.yml
@@ -1,12 +1,9 @@
 description: collectionData-createOptions
-
 schemaVersion: "1.9"
-
 runOnRequirements:
   - minServerVersion: "3.6"
     # Capped collections cannot be created on serverless instances.
     serverless: forbid
-
 createEntities:
   - client:
       id: &client0 client0
@@ -18,7 +15,6 @@ createEntities:
       id: &collection0 collection0
       database: *database0
       collectionName: &collection0Name coll0
-
 initialData:
   - collectionName: *collection0Name
     databaseName: *database0Name
@@ -28,7 +24,6 @@ initialData:
       size: &cappedSize 4096
     documents:
       - { _id: 1, x: 11 }
-
 tests:
   - description: collection is created with the correct options
     operations:
@@ -39,4 +34,4 @@ tests:
             - $collStats: { storageStats: {} }
             - $project: { capped: '$storageStats.capped', maxSize: '$storageStats.maxSize'}
         expectResult:
-          - { capped: true, maxSize: *cappedSize }
+          - { capped: true, maxSize: *cappedSize }
\ No newline at end of file
diff --git a/test/spec/unified-test-format/valid-pass/createEntities-operation.json b/test/spec/unified-test-format/valid-pass/createEntities-operation.json
new file mode 100644
index 00000000000..3fde42919d7
--- /dev/null
+++ b/test/spec/unified-test-format/valid-pass/createEntities-operation.json
@@ -0,0 +1,74 @@
+{
+  "description": "createEntities-operation",
+  "schemaVersion": "1.9",
+  "tests": [
+    {
+      "description": "createEntities operation",
+      "operations": [
+        {
+          "name": "createEntities",
+          "object": "testRunner",
+          "arguments": {
+            "entities": [
+              {
+                "client": {
+                  "id": "client1",
+                  "observeEvents": [
+                    "commandStartedEvent"
+                  ]
+                }
+              },
+              {
+                "database": {
+                  "id": "database1",
+                  "client": "client1",
+                  "databaseName": "database1"
+                }
+              },
+              {
+                "collection": {
+                  "id": "collection1",
+                  "database": "database1",
+                  "collectionName": "coll1"
+                }
+              }
+            ]
+          }
+        },
+        {
+          "name": "deleteOne",
+          "object": "collection1",
+          "arguments": {
+            "filter": {
+              "_id": 1
+            }
+          }
+        }
+      ],
+      "expectEvents": [
+        {
+          "client": "client1",
+          "events": [
+            {
+              "commandStartedEvent": {
+                "command": {
+                  "delete": "coll1",
+                  "deletes": [
+                    {
+                      "q": {
+                        "_id": 1
+                      },
+                      "limit": 1
+                    }
+                  ]
+                },
+                "commandName": "delete",
+                "databaseName": "database1"
+              }
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/test/spec/unified-test-format/valid-pass/createEntities-operation.yml b/test/spec/unified-test-format/valid-pass/createEntities-operation.yml
new file mode 100644
index 00000000000..ee8acd73687
--- /dev/null
+++ b/test/spec/unified-test-format/valid-pass/createEntities-operation.yml
@@ -0,0 +1,38 @@
+description: createEntities-operation
+
+# Note: createEntities is not technically in the 1.9 schema but was introduced at the same time.
+schemaVersion: "1.9"
+
+tests:
+  - description: createEntities operation
+    operations:
+      - name: createEntities
+        object: testRunner
+        arguments:
+          entities:
+            - client:
+                id: &client1 client1
+                observeEvents: [ commandStartedEvent ]
+            - database:
+                id: &database1 database1
+                client: *client1
+                databaseName: &database1Name database1
+            - collection:
+                id: &collection1 collection1
+                database: *database1
+                collectionName: &collection1Name coll1
+      - name: deleteOne
+        object: *collection1
+        arguments:
+          filter: { _id : 1 }
+    expectEvents:
+      - client: *client1
+        events:
+          - commandStartedEvent:
+              command:
+                delete: *collection1Name
+                deletes:
+                  - q: { _id: 1 }
+                    limit: 1
+              commandName: delete
+              databaseName: *database1Name
diff --git a/test/spec/unified-test-format/valid-pass/entity-cursor-iterateOnce.json b/test/spec/unified-test-format/valid-pass/entity-cursor-iterateOnce.json
new file mode 100644
index 00000000000..b17ae78b942
--- /dev/null
+++ b/test/spec/unified-test-format/valid-pass/entity-cursor-iterateOnce.json
@@ -0,0 +1,111 @@
+{
+  "description": "entity-cursor-iterateOnce",
+  "schemaVersion": "1.9",
+  "createEntities": [
+    {
+      "client": {
+        "id": "client0",
+        "observeEvents": [
+          "commandStartedEvent"
+        ]
+      }
+    },
+    {
+      "database": {
+        "id": "database0",
+        "client": "client0",
+        "databaseName": "database0"
+      }
+    },
+    {
+      "collection": {
+        "id": "collection0",
+        "database": "database0",
+        "collectionName": "coll0"
+      }
+    }
+  ],
+  "initialData": [
+    {
+      "databaseName": "database0",
+      "collectionName": "coll0",
+      "documents": [
+        {
+          "_id": 1
+        },
+        {
+          "_id": 2
+        },
+        {
+          "_id": 3
+        }
+      ]
+    }
+  ],
+  "tests": [
+    {
+      "description": "iterateOnce",
+      "operations": [
+        {
+          "name": "createFindCursor",
+          "object": "collection0",
+          "arguments": {
+            "filter": {},
+            "batchSize": 2
+          },
+          "saveResultAsEntity": "cursor0"
+        },
+        {
+          "name": "iterateUntilDocumentOrError",
+          "object": "cursor0",
+          "expectResult": {
+            "_id": 1
+          }
+        },
+        {
+          "name": "iterateUntilDocumentOrError",
+          "object": "cursor0",
+          "expectResult": {
+            "_id": 2
+          }
+        },
+        {
+          "name": "iterateOnce",
+          "object": "cursor0"
+        }
+      ],
+      "expectEvents": [
+        {
+          "client": "client0",
+          "events": [
+            {
+              "commandStartedEvent": {
+                "command": {
+                  "find": "coll0",
+                  "filter": {},
+                  "batchSize": 2
+                },
+                "commandName": "find",
+                "databaseName": "database0"
+              }
+            },
+            {
+              "commandStartedEvent": {
+                "command": {
+                  "getMore": {
+                    "$$type": [
+                      "int",
+                      "long"
+                    ]
+                  },
+                  "collection": "coll0"
+                },
+                "commandName": "getMore"
+              }
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/test/spec/unified-test-format/valid-pass/entity-cursor-iterateOnce.yml b/test/spec/unified-test-format/valid-pass/entity-cursor-iterateOnce.yml
new file mode 100644
index 00000000000..508e594a538
--- /dev/null
+++ b/test/spec/unified-test-format/valid-pass/entity-cursor-iterateOnce.yml
@@ -0,0 +1,59 @@
+description: entity-cursor-iterateOnce
+
+# Note: iterateOnce is not technically in the 1.9 schema but was introduced at the same time.
+schemaVersion: "1.9"
+
+createEntities:
+  - client:
+      id: &client0 client0
+      observeEvents: [ commandStartedEvent ]
+  - database:
+      id: &database0 database0
+      client: *client0
+      databaseName: &database0Name database0
+  - collection:
+      id: &collection0 collection0
+      database: *database0
+      collectionName: &collection0Name coll0
+
+initialData:
+  - databaseName: *database0Name
+    collectionName: *collection0Name
+    documents:
+      - _id: 1
+      - _id: 2
+      - _id: 3
+
+tests:
+  - description: iterateOnce
+    operations:
+      - name: createFindCursor
+        object: *collection0
+        arguments:
+          filter: {}
+          batchSize: 2
+        saveResultAsEntity: &cursor0 cursor0
+      - name: iterateUntilDocumentOrError
+        object: *cursor0
+        expectResult: { _id: 1 }
+      - name: iterateUntilDocumentOrError
+        object: *cursor0
+        expectResult: { _id: 2 }
+      # This operation could be iterateUntilDocumentOrError, but we use iterateOne to ensure that drivers support it.
+      - name: iterateOnce
+        object: *cursor0
+    expectEvents:
+      - client: *client0
+        events:
+          - commandStartedEvent:
+              command:
+                find: *collection0Name
+                filter: {}
+                batchSize: 2
+              commandName: find
+              databaseName: *database0Name
+          - commandStartedEvent:
+              command:
+                getMore: { $$type: [ int, long ] }
+                collection: *collection0Name
+              commandName: getMore
diff --git a/test/spec/unified-test-format/valid-pass/entity-find-cursor.json b/test/spec/unified-test-format/valid-pass/entity-find-cursor.json
index 85b8f69d7f3..6f955d81f4a 100644
--- a/test/spec/unified-test-format/valid-pass/entity-find-cursor.json
+++ b/test/spec/unified-test-format/valid-pass/entity-find-cursor.json
@@ -109,7 +109,10 @@
                 "reply": {
                   "cursor": {
                     "id": {
-                      "$$type": "long"
+                      "$$type": [
+                        "int",
+                        "long"
+                      ]
                     },
                     "ns": {
                       "$$type": "string"
@@ -126,7 +129,10 @@
               "commandStartedEvent": {
                 "command": {
                   "getMore": {
-                    "$$type": "long"
+                    "$$type": [
+                      "int",
+                      "long"
+                    ]
                   },
                   "collection": "coll0"
                 },
@@ -138,7 +144,10 @@
                 "reply": {
                   "cursor": {
                     "id": {
-                      "$$type": "long"
+                      "$$type": [
+                        "int",
+                        "long"
+                      ]
                     },
                     "ns": {
                       "$$type": "string"
diff --git a/test/spec/unified-test-format/valid-pass/entity-find-cursor.yml b/test/spec/unified-test-format/valid-pass/entity-find-cursor.yml
index 61c9f8835ac..3ecdf6da1df 100644
--- a/test/spec/unified-test-format/valid-pass/entity-find-cursor.yml
+++ b/test/spec/unified-test-format/valid-pass/entity-find-cursor.yml
@@ -61,19 +61,19 @@ tests:
           - commandSucceededEvent:
               reply:
                 cursor:
-                  id: { $$type: long }
+                  id: { $$type: [ int, long ] }
                   ns: { $$type: string }
                   firstBatch: { $$type: array } 
               commandName: find
           - commandStartedEvent:
               command:
-                getMore: { $$type: long }
+                getMore: { $$type: [ int, long ] }
                 collection: *collection0Name
               commandName: getMore
           - commandSucceededEvent:
               reply:
                 cursor:
-                  id: { $$type: long }
+                  id: { $$type: [ int, long ] }
                   ns: { $$type: string }
                   nextBatch: { $$type: array } 
               commandName: getMore
diff --git a/test/spec/unified-test-format/valid-pass/expectedEventsForClient-ignoreExtraEvents.yml b/test/spec/unified-test-format/valid-pass/expectedEventsForClient-ignoreExtraEvents.yml
index 162d0e3c046..d6d87094f64 100644
--- a/test/spec/unified-test-format/valid-pass/expectedEventsForClient-ignoreExtraEvents.yml
+++ b/test/spec/unified-test-format/valid-pass/expectedEventsForClient-ignoreExtraEvents.yml
@@ -75,4 +75,4 @@ tests:
                 insert: *collection0Name
                 documents:
                   - *insertDocument4
-              commandName: insert
+              commandName: insert
\ No newline at end of file
diff --git a/test/spec/unified-test-format/valid-pass/matches-lte-operator.json b/test/spec/unified-test-format/valid-pass/matches-lte-operator.json
new file mode 100644
index 00000000000..4de65c58387
--- /dev/null
+++ b/test/spec/unified-test-format/valid-pass/matches-lte-operator.json
@@ -0,0 +1,78 @@
+{
+  "description": "matches-lte-operator",
+  "schemaVersion": "1.9",
+  "createEntities": [
+    {
+      "client": {
+        "id": "client0",
+        "observeEvents": [
+          "commandStartedEvent"
+        ]
+      }
+    },
+    {
+      "database": {
+        "id": "database0",
+        "client": "client0",
+        "databaseName": "database0Name"
+      }
+    },
+    {
+      "collection": {
+        "id": "collection0",
+        "database": "database0",
+        "collectionName": "coll0"
+      }
+    }
+  ],
+  "initialData": [
+    {
+      "collectionName": "coll0",
+      "databaseName": "database0Name",
+      "documents": []
+    }
+  ],
+  "tests": [
+    {
+      "description": "special lte matching operator",
+      "operations": [
+        {
+          "name": "insertOne",
+          "object": "collection0",
+          "arguments": {
+            "document": {
+              "_id": 1,
+              "y": 1
+            }
+          }
+        }
+      ],
+      "expectEvents": [
+        {
+          "client": "client0",
+          "events": [
+            {
+              "commandStartedEvent": {
+                "command": {
+                  "insert": "coll0",
+                  "documents": [
+                    {
+                      "_id": {
+                        "$$lte": 1
+                      },
+                      "y": {
+                        "$$lte": 2
+                      }
+                    }
+                  ]
+                },
+                "commandName": "insert",
+                "databaseName": "database0Name"
+              }
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/test/spec/unified-test-format/valid-pass/matches-lte-operator.yml b/test/spec/unified-test-format/valid-pass/matches-lte-operator.yml
new file mode 100644
index 00000000000..4bec571f029
--- /dev/null
+++ b/test/spec/unified-test-format/valid-pass/matches-lte-operator.yml
@@ -0,0 +1,41 @@
+description: matches-lte-operator
+
+# Note: $$lte is not technically in the 1.8 schema but was introduced at the same time.
+schemaVersion: "1.9"
+
+createEntities:
+  - client:
+      id: &client0 client0
+      observeEvents: [ commandStartedEvent ]
+  - database:
+      id: &database0 database0
+      client: *client0
+      databaseName: &database0Name database0Name
+  - collection:
+      id: &collection0 collection0
+      database: *database0
+      collectionName: &collection0Name coll0
+
+initialData:
+  - collectionName: *collection0Name
+    databaseName: *database0Name
+    documents: []
+
+tests:
+  - description: special lte matching operator
+    operations:
+      - name: insertOne
+        object: *collection0
+        arguments:
+          document: { _id : 1, y: 1 }
+    expectEvents:
+      - client: *client0
+        events:
+          - commandStartedEvent:
+              command:
+                insert: *collection0Name
+                documents:
+                  # We can make exact assertions here but we use the $$lte operator to ensure drivers support it.
+                  - { _id: { $$lte: 1 }, y: { $$lte: 2 } }
+              commandName: insert
+              databaseName: *database0Name
diff --git a/test/spec/unified-test-format/valid-pass/poc-change-streams.json b/test/spec/unified-test-format/valid-pass/poc-change-streams.json
index 4194005eb41..50f0d06f08d 100644
--- a/test/spec/unified-test-format/valid-pass/poc-change-streams.json
+++ b/test/spec/unified-test-format/valid-pass/poc-change-streams.json
@@ -94,6 +94,42 @@
     }
   ],
   "tests": [
+    {
+      "description": "saveResultAsEntity is optional for createChangeStream",
+      "runOnRequirements": [
+        {
+          "minServerVersion": "3.8.0",
+          "topologies": [
+            "replicaset"
+          ]
+        }
+      ],
+      "operations": [
+        {
+          "name": "createChangeStream",
+          "object": "client0",
+          "arguments": {
+            "pipeline": []
+          }
+        }
+      ],
+      "expectEvents": [
+        {
+          "client": "client0",
+          "events": [
+            {
+              "commandStartedEvent": {
+                "command": {
+                  "aggregate": 1
+                },
+                "commandName": "aggregate",
+                "databaseName": "admin"
+              }
+            }
+          ]
+        }
+      ]
+    },
     {
       "description": "Executing a watch helper on a MongoClient results in notifications for changes to all collections in all databases in the cluster.",
       "runOnRequirements": [
diff --git a/test/spec/unified-test-format/valid-pass/poc-change-streams.yml b/test/spec/unified-test-format/valid-pass/poc-change-streams.yml
index b066cf0b89a..a7daafceb77 100644
--- a/test/spec/unified-test-format/valid-pass/poc-change-streams.yml
+++ b/test/spec/unified-test-format/valid-pass/poc-change-streams.yml
@@ -59,6 +59,24 @@ initialData:
     documents: []
 
 tests:
+  - description: "saveResultAsEntity is optional for createChangeStream"
+    runOnRequirements:
+      - minServerVersion: "3.8.0"
+        topologies: [ replicaset ]
+    operations:
+      - name: createChangeStream
+        object: *client0
+        arguments:
+          pipeline: []
+    expectEvents:
+      - client: *client0
+        events:
+          - commandStartedEvent:
+              command:
+                aggregate: 1
+              commandName: aggregate
+              databaseName: admin
+
   - description: "Executing a watch helper on a MongoClient results in notifications for changes to all collections in all databases in the cluster."
     runOnRequirements:
       - minServerVersion: "3.8.0"
diff --git a/test/spec/unified-test-format/valid-pass/poc-crud.json b/test/spec/unified-test-format/valid-pass/poc-crud.json
index 0790d9b789f..94e4ec56829 100644
--- a/test/spec/unified-test-format/valid-pass/poc-crud.json
+++ b/test/spec/unified-test-format/valid-pass/poc-crud.json
@@ -322,7 +322,7 @@
           "minServerVersion": "4.1.0",
           "topologies": [
             "replicaset",
-            "sharded-replicaset"
+            "sharded"
           ],
           "serverless": "forbid"
         }
diff --git a/test/spec/unified-test-format/valid-pass/poc-crud.yml b/test/spec/unified-test-format/valid-pass/poc-crud.yml
index b7d05d75afb..5748c0779f8 100644
--- a/test/spec/unified-test-format/valid-pass/poc-crud.yml
+++ b/test/spec/unified-test-format/valid-pass/poc-crud.yml
@@ -143,7 +143,7 @@ tests:
   - description: "readConcern majority with out stage"
     runOnRequirements:
       - minServerVersion: "4.1.0"
-        topologies: [ replicaset, sharded-replicaset ]
+        topologies: [ replicaset, sharded ]
         serverless: "forbid"
     operations:
       - name: aggregate
diff --git a/test/spec/unified-test-format/valid-pass/poc-sessions.json b/test/spec/unified-test-format/valid-pass/poc-sessions.json
index 75f34894286..117c9e7d009 100644
--- a/test/spec/unified-test-format/valid-pass/poc-sessions.json
+++ b/test/spec/unified-test-format/valid-pass/poc-sessions.json
@@ -264,7 +264,7 @@
         {
           "minServerVersion": "4.1.8",
           "topologies": [
-            "sharded-replicaset"
+            "sharded"
           ]
         }
       ],
diff --git a/test/spec/unified-test-format/valid-pass/poc-sessions.yml b/test/spec/unified-test-format/valid-pass/poc-sessions.yml
index cb16657da3f..20902583286 100644
--- a/test/spec/unified-test-format/valid-pass/poc-sessions.yml
+++ b/test/spec/unified-test-format/valid-pass/poc-sessions.yml
@@ -124,12 +124,11 @@ tests:
 
   - description: "Dirty explicit session is discarded"
     # Original test specified retryWrites=true, but that is now the default.
-    # Retryable writes will require a sharded-replicaset, though.
     runOnRequirements:
       - minServerVersion: "4.0"
         topologies: [ replicaset ]
       - minServerVersion: "4.1.8"
-        topologies: [ sharded-replicaset ]
+        topologies: [ sharded ]
     operations:
       - name: failPoint
         object: testRunner
diff --git a/test/spec/unified-test-format/valid-pass/poc-transactions-convenient-api.json b/test/spec/unified-test-format/valid-pass/poc-transactions-convenient-api.json
index 820ed659276..9ab44a9c548 100644
--- a/test/spec/unified-test-format/valid-pass/poc-transactions-convenient-api.json
+++ b/test/spec/unified-test-format/valid-pass/poc-transactions-convenient-api.json
@@ -11,7 +11,7 @@
     {
       "minServerVersion": "4.1.8",
       "topologies": [
-        "sharded-replicaset"
+        "sharded"
       ]
     }
   ],
diff --git a/test/spec/unified-test-format/valid-pass/poc-transactions-convenient-api.yml b/test/spec/unified-test-format/valid-pass/poc-transactions-convenient-api.yml
index 4f981d15dd4..94fadda0aa5 100644
--- a/test/spec/unified-test-format/valid-pass/poc-transactions-convenient-api.yml
+++ b/test/spec/unified-test-format/valid-pass/poc-transactions-convenient-api.yml
@@ -6,7 +6,7 @@ runOnRequirements:
   - minServerVersion: "4.0"
     topologies: [ replicaset ]
   - minServerVersion: "4.1.8"
-    topologies: [ sharded-replicaset ]
+    topologies: [ sharded ]
 
 createEntities:
   - client:
diff --git a/test/spec/unified-test-format/valid-pass/poc-transactions-mongos-pin-auto.json b/test/spec/unified-test-format/valid-pass/poc-transactions-mongos-pin-auto.json
index a0b297d59a5..de08edec442 100644
--- a/test/spec/unified-test-format/valid-pass/poc-transactions-mongos-pin-auto.json
+++ b/test/spec/unified-test-format/valid-pass/poc-transactions-mongos-pin-auto.json
@@ -5,7 +5,7 @@
     {
       "minServerVersion": "4.1.8",
       "topologies": [
-        "sharded-replicaset"
+        "sharded"
       ]
     }
   ],
diff --git a/test/spec/unified-test-format/valid-pass/poc-transactions-mongos-pin-auto.yml b/test/spec/unified-test-format/valid-pass/poc-transactions-mongos-pin-auto.yml
index 47db7c3188a..33cd2a25214 100644
--- a/test/spec/unified-test-format/valid-pass/poc-transactions-mongos-pin-auto.yml
+++ b/test/spec/unified-test-format/valid-pass/poc-transactions-mongos-pin-auto.yml
@@ -4,7 +4,7 @@ schemaVersion: "1.0"
 
 runOnRequirements:
   - minServerVersion: "4.1.8"
-    topologies: [ sharded-replicaset ]
+    topologies: [ sharded ]
 
 createEntities:
   - client:
diff --git a/test/spec/unified-test-format/valid-pass/poc-transactions.json b/test/spec/unified-test-format/valid-pass/poc-transactions.json
index 0355ca20605..2055a3b7057 100644
--- a/test/spec/unified-test-format/valid-pass/poc-transactions.json
+++ b/test/spec/unified-test-format/valid-pass/poc-transactions.json
@@ -11,7 +11,7 @@
     {
       "minServerVersion": "4.1.8",
       "topologies": [
-        "sharded-replicaset"
+        "sharded"
       ]
     }
   ],
@@ -93,7 +93,7 @@
           "minServerVersion": "4.3.4",
           "topologies": [
             "replicaset",
-            "sharded-replicaset"
+            "sharded"
           ]
         }
       ],
@@ -203,7 +203,7 @@
           "minServerVersion": "4.3.4",
           "topologies": [
             "replicaset",
-            "sharded-replicaset"
+            "sharded"
           ]
         }
       ],
diff --git a/test/spec/unified-test-format/valid-pass/poc-transactions.yml b/test/spec/unified-test-format/valid-pass/poc-transactions.yml
index 0a66b9bd7f6..8a12c8b39ac 100644
--- a/test/spec/unified-test-format/valid-pass/poc-transactions.yml
+++ b/test/spec/unified-test-format/valid-pass/poc-transactions.yml
@@ -6,7 +6,7 @@ runOnRequirements:
   - minServerVersion: "4.0"
     topologies: [ replicaset ]
   - minServerVersion: "4.1.8"
-    topologies: [ sharded-replicaset ]
+    topologies: [ sharded ]
 
 createEntities:
   - client:
@@ -51,7 +51,7 @@ tests:
   - description: "explicitly create collection using create command"
     runOnRequirements:
       - minServerVersion: "4.3.4"
-        topologies: [ replicaset, sharded-replicaset ]
+        topologies: [ replicaset, sharded ]
     operations:
       - name: dropCollection
         object: *database0
@@ -109,7 +109,7 @@ tests:
   - description: "create index on a non-existing collection"
     runOnRequirements:
       - minServerVersion: "4.3.4"
-        topologies: [ replicaset, sharded-replicaset ]
+        topologies: [ replicaset, sharded ]
     operations:
       - name: dropCollection
         object: *database0
diff --git a/test/tools/unified-spec-runner/match.ts b/test/tools/unified-spec-runner/match.ts
index 3a4d4e5e3da..32f6870d998 100644
--- a/test/tools/unified-spec-runner/match.ts
+++ b/test/tools/unified-spec-runner/match.ts
@@ -24,6 +24,7 @@ import {
   Long,
   MongoBulkWriteError,
   MongoError,
+  MongoOperationTimeoutError,
   MongoServerError,
   ObjectId,
   type OneOrMore,
@@ -97,6 +98,19 @@ export function isMatchAsRootOperator(value: unknown): value is MatchAsRootOpera
   return typeof value === 'object' && value != null && '$$matchAsRoot' in value;
 }
 
+export interface LteOperator {
+  $$lte: number;
+}
+
+export function isLteOperator(value: unknown): value is LteOperator {
+  return (
+    typeof value === 'object' &&
+    value != null &&
+    '$$lte' in value &&
+    typeof value['$$lte'] === 'number'
+  );
+}
+
 export const SpecialOperatorKeys = [
   '$$exists',
   '$$type',
@@ -105,7 +119,8 @@ export const SpecialOperatorKeys = [
   '$$matchAsRoot',
   '$$matchAsDocument',
   '$$unsetOrMatches',
-  '$$sessionLsid'
+  '$$sessionLsid',
+  '$$lte'
 ];
 
 export type SpecialOperator =
@@ -116,7 +131,8 @@ export type SpecialOperator =
   | UnsetOrMatchesOperator
   | SessionLsidOperator
   | MatchAsDocumentOperator
-  | MatchAsRootOperator;
+  | MatchAsRootOperator
+  | LteOperator;
 
 type KeysOfUnion<T> = T extends object ? keyof T : never;
 export type SpecialOperatorKey = KeysOfUnion<SpecialOperator>;
@@ -129,7 +145,8 @@ export function isSpecialOperator(value: unknown): value is SpecialOperator {
     isUnsetOrMatchesOperator(value) ||
     isSessionLsidOperator(value) ||
     isMatchAsRootOperator(value) ||
-    isMatchAsDocumentOperator(value)
+    isMatchAsDocumentOperator(value) ||
+    isLteOperator(value)
   );
 }
 
@@ -378,6 +395,9 @@ export function specialCheck(
     );
 
     resultCheck(actual, expected.$$matchAsRoot as any, entities, path, false);
+  } else if (isLteOperator(expected)) {
+    expect(typeof actual).to.equal('number');
+    expect(actual).to.be.lte(expected.$$lte);
   } else {
     expect.fail(`Unknown special operator: ${JSON.stringify(expected)}`);
   }
@@ -747,6 +767,12 @@ export function expectErrorCheck(
     }
   }
 
+  if (expected.isTimeoutError === false) {
+    expect(error).to.not.be.instanceof(MongoOperationTimeoutError);
+  } else if (expected.isTimeoutError === true) {
+    expect(error).to.be.instanceof(MongoOperationTimeoutError);
+  }
+
   if (expected.errorContains != null) {
     expect(error.message.toLowerCase(), expectMessage.toLowerCase()).to.include(
       expected.errorContains.toLowerCase()
diff --git a/test/tools/unified-spec-runner/schema.ts b/test/tools/unified-spec-runner/schema.ts
index 81b81724632..ce722b2e706 100644
--- a/test/tools/unified-spec-runner/schema.ts
+++ b/test/tools/unified-spec-runner/schema.ts
@@ -386,6 +386,7 @@ export interface StoreEventsAsEntity {
 }
 export interface ExpectedError {
   isError?: true;
+  isTimeoutError?: boolean;
   isClientError?: boolean;
   errorContains?: string;
   errorCode?: number;