or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-4/

{
  "context": "Evaluates whether the solution uses notion-client to fetch block record values by ID, surface missing IDs, request signed file URLs when asked, and forward HTTP options through to the Notion v3 endpoints.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Core fetch",
      "description": "Creates a NotionAPI client with the provided auth token and calls getBlocks with the full set of unique block IDs instead of manual HTTP logic or per-ID requests.",
      "max_score": 35
    },
    {
      "name": "Deduped call",
      "description": "Deduplicates the input IDs and issues a single getBlocks invocation that covers all requested IDs.",
      "max_score": 15
    },
    {
      "name": "Missing detection",
      "description": "Derives the missing ID list by comparing the requested IDs to the keys returned in recordMap.block from getBlocks (no hardcoded assumptions).",
      "max_score": 15
    },
    {
      "name": "Signed URLs",
      "description": "When includeSignedUrls is true, uses notion-client facilities (e.g., getSignedFileUrls with the block sources or relying on recordMap.signed_urls) to attach signed URLs to file-type blocks.",
      "max_score": 20
    },
    {
      "name": "Request options",
      "description": "Forwards requestOptions to the HTTP layer by passing them through to getBlocks via ofetchOptions (or matching NotionAPI constructor options) so headers/timeouts reach the API call.",
      "max_score": 15
    }
  ]
}