or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-2/

{
  "context": "This criteria evaluates how well the engineer uses the nuqs package to implement URL search parameter state management with configurable history modes (push vs replace). The focus is on proper usage of nuqs hooks, history mode configuration, and state synchronization.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "useQueryState Usage",
      "description": "Uses the useQueryState hook from nuqs to manage the search query URL parameter (e.g., for the 'q' parameter)",
      "max_score": 25
    },
    {
      "name": "Parser Configuration",
      "description": "Properly configures the nuqs parser for the search query parameter, using either parseAsString or similar built-in parser from nuqs",
      "max_score": 15
    },
    {
      "name": "Push Mode Implementation",
      "description": "Correctly implements push history mode by passing { history: 'push' } option to the nuqs state setter or using withOptions({ history: 'push' }) on the parser",
      "max_score": 20
    },
    {
      "name": "Replace Mode Implementation",
      "description": "Correctly implements replace history mode by passing { history: 'replace' } option to the nuqs state setter or using withOptions({ history: 'replace' }) on the parser",
      "max_score": 20
    },
    {
      "name": "Dynamic Mode Switching",
      "description": "Dynamically applies the selected history mode (push or replace) based on the current mode state, allowing runtime switching between modes",
      "max_score": 10
    },
    {
      "name": "Mode Toggle UI",
      "description": "Provides a UI control (button/toggle) that switches between push and replace modes and displays the current mode setting",
      "max_score": 10
    }
  ]
}