or run

npx @tessl/cli init
Log in

Version

Files

docs

function-utilities.mdindex.mdlist-operations.mdmathematical-operations.mdobject-operations.mdstring-processing.md
tile.json

rubric.jsonevals/scenario-6/

{
  "context": "Evaluates how well the solution relies on prelude-ls set-style helpers to dedupe rosters, find overlaps, count teams, and bucket roles. Scoring rewards direct use of the library's unique/intersection/count-by/group-by primitives rather than reimplementing the behaviors manually.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Unique roster",
      "description": "Builds the roster by calling prelude-ls `unique` (or `unique-by` when deduping ids) to keep first-seen names without manual filtering logic.",
      "max_score": 25
    },
    {
      "name": "Session overlap",
      "description": "Computes shared attendees with prelude-ls `intersection` (optionally paired with `unique` to enforce distinct output) instead of hand-written loops or sets.",
      "max_score": 25
    },
    {
      "name": "Team counting",
      "description": "Uses prelude-ls `count-by` to tally team occurrences from attendee records, avoiding custom reducers for frequency counts.",
      "max_score": 25
    },
    {
      "name": "Role grouping",
      "description": "Groups attendees by role via prelude-ls `group-by` and removes duplicate ids per role with `unique`/`unique-by`, not bespoke grouping code.",
      "max_score": 25
    }
  ]
}