or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-2/

{
  "context": "Evaluates whether the solution relies on make-fetch-happen to build a layered HTTP client with defaults, Request/Response primitives, and relative-URL handling. Emphasis is on using fetch.defaults chaining and built-in fetch semantics instead of manual wrappers.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Default client",
      "description": "Creates the base HTTP client via make-fetch-happen's fetch.defaults (or equivalent) to set base URL and shared options instead of hand-built wrappers.",
      "max_score": 25
    },
    {
      "name": "Chained defaults",
      "description": "Derives child clients by calling .defaults on an existing fetch instance so layered overrides inherit parent settings, matching the package's chainable defaults behavior.",
      "max_score": 25
    },
    {
      "name": "Request handling",
      "description": "Builds or normalizes incoming requests with the package's Request export (or accepts Request instances directly) and returns the corresponding Response from make-fetch-happen rather than custom classes.",
      "max_score": 20
    },
    {
      "name": "Header merging",
      "description": "Uses the library's header merge semantics (fetch.defaults / Headers) to combine parent, child, and per-call headers instead of manually replacing them.",
      "max_score": 15
    },
    {
      "name": "Base URL resolution",
      "description": "Relies on fetch.defaults baseUrl resolution to handle relative request paths rather than manual string concatenation.",
      "max_score": 15
    }
  ]
}