evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
{
"context": "Evaluates how well the solution uses the notion-client package to apply per-call ofetch overrides for headers and timeouts when fetching pages and collections. Focuses on forwarding override values into NotionAPI requests while keeping client defaults intact and observable through the returned snapshot fields.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Use NotionAPI",
"description": "Creates a NotionAPI instance from notion-client with provided auth/base options and relies on its built-in ofetchOptions support instead of custom HTTP clients.",
"max_score": 20
},
{
"name": "Page overrides",
"description": "fetchPageSnapshot passes per-call ofetchOptions (headers and timeoutMs mapped to timeout) into NotionAPI.getPage so the override header X-Debug and timeout reach the page request.",
"max_score": 25
},
{
"name": "Collection timeout",
"description": "fetchCollectionPageIds forwards per-call ofetchOptions with timeoutMs to NotionAPI.getCollectionData or NotionAPI.fetch, ensuring the custom timeout applies only to that request.",
"max_score": 25
},
{
"name": "Header merging",
"description": "Merge constructor default headers with override headers before calling NotionAPI.fetch/getPage/getCollectionData so appliedHeaders reflects both sets without duplicating or dropping values.",
"max_score": 15
},
{
"name": "Override isolation",
"description": "Does not mutate the NotionAPI instance defaults; after an overridden call, subsequent calls without overrides send only the base ofetchOptions (no leaked header/timeout) and report that isolation in appliedHeaders/appliedTimeout.",
"max_score": 15
}
]
}