evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
{
"context": "Evaluates whether the solution uses notion-client to eagerly load collection data with controlled concurrency and reducer limits. Also checks that summaries come from the returned Notion record maps instead of reimplementing requests manually.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Page fetch concurrency",
"description": "Calls NotionAPI.getPage (or equivalent) with the provided concurrency option and collection fetching enabled instead of hand-rolled HTTP requests.",
"max_score": 25
},
{
"name": "Reducer cap option",
"description": "Passes the caller-supplied reducerLimit into the notion-client API (e.g., collectionReducerLimit on getPage or limit on getCollectionData) rather than fetching everything and trimming locally.",
"max_score": 20
},
{
"name": "View query helper",
"description": "Uses getCollectionData with the supplied collectionId, viewId, and resolved collectionView config to retrieve grouped results instead of iterating blocks manually.",
"max_score": 20
},
{
"name": "Reducer results parsing",
"description": "Builds group summaries from result.reducerResults returned by getCollectionData/getPage and applies the reducerLimit while preserving the API-provided order.",
"max_score": 20
},
{
"name": "Record map counts",
"description": "Computes total block counts and group sizes from the API's recordMap.block and reducer results rather than hardcoded values or unrelated data sources.",
"max_score": 15
}
]
}