or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-7/

{
  "context": "This criteria evaluates how well the engineer uses picocolors to handle non-string input types (numbers, booleans, null, undefined) by passing them directly to color functions instead of manually converting to strings first.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Direct number formatting",
      "description": "Passes numeric values (42, 0) directly to picocolors yellow() function without manual string conversion",
      "max_score": 20
    },
    {
      "name": "Direct boolean formatting",
      "description": "Passes boolean values (true, false) directly to picocolors green() and red() functions without manual string conversion",
      "max_score": 20
    },
    {
      "name": "Direct null formatting",
      "description": "Passes null value directly to picocolors gray() function without manual string conversion",
      "max_score": 15
    },
    {
      "name": "Direct undefined formatting",
      "description": "Passes undefined value directly to picocolors gray() function without manual string conversion",
      "max_score": 15
    },
    {
      "name": "Type-based color selection",
      "description": "Implements logic to select appropriate picocolors functions (yellow, green, red, gray, white) based on the runtime type of the value parameter",
      "max_score": 15
    },
    {
      "name": "Label formatting",
      "description": "Uses picocolors cyan() function to format the label text",
      "max_score": 5
    },
    {
      "name": "Timestamp formatting",
      "description": "Uses picocolors dim() function to format the timestamp prefix",
      "max_score": 5
    },
    {
      "name": "Edge case handling",
      "description": "Correctly handles edge cases (0, NaN, Infinity, empty strings) by passing them to appropriate picocolors functions without special preprocessing",
      "max_score": 5
    }
  ]
}