When top-level filter keys narrow to KeyNames, also checks if $or blocks
and skCondition narrow independently. Since DynamoDB ANDs top-level conditions
with $or, a record must satisfy both — so the matching entities are the intersection.
Additionally, skCondition is a key condition that always constrains the result.
If $or also narrows → intersect with KeyNames, then intersect with SK (strict).
If $or does not narrow → intersect KeyNames with SK.
When top-level filter keys narrow to
KeyNames, also checks if$orblocks andskConditionnarrow independently. Since DynamoDB ANDs top-level conditions with$or, a record must satisfy both — so the matching entities are the intersection. Additionally,skConditionis a key condition that always constrains the result.$oralso narrows → intersect withKeyNames, then intersect with SK (strict).$ordoes not narrow → intersectKeyNameswith SK.