or run

npx @tessl/cli init
Log in

Version

Files

docs

index.mdport-configuration.mdport-finding.mdsocket-finding.md
tile.json

rubric.jsonevals/scenario-6/

{
  "context": "Evaluates how well the solution configures and uses portfinder's global defaults for port and socket discovery while satisfying the spec's resource allocation behaviors. Points focus solely on correct invocation of the library APIs rather than general coding style.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Global port defaults",
      "description": "Calls portfinder.setBasePort and portfinder.setHighestPort (or equivalent default setters) before allocating ports, avoiding per-call overrides so global bounds drive subsequent searches.",
      "max_score": 30
    },
    {
      "name": "Invalid range",
      "description": "Relies on portfinder's validation for impossible ranges (e.g., highest below base) so the library rejects and prior defaults remain intact rather than manual post-processing.",
      "max_score": 20
    },
    {
      "name": "Multi-port allocation",
      "description": "Uses getPorts/getPortsPromise with no explicit start/stop options to fetch the required count, ensuring returned ports follow the configured defaults and are unique/ascending.",
      "max_score": 20
    },
    {
      "name": "Exhaustion signaling",
      "description": "Allows portfinder to surface the exhaustion error when requested ports exceed the configured highestPort window instead of silently extending the range.",
      "max_score": 15
    },
    {
      "name": "Socket base path",
      "description": "Sets the global base path via portfinder.setBasePath (or default assignment) and uses getSocket/getSocketPromise to resolve an available path, relying on the library's collision incrementing.",
      "max_score": 15
    }
  ]
}