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-4/

{
  "context": "Evaluates whether the solution leverages prelude-ls aggregation and folding helpers to build and merge energy log summaries that meet the spec. Emphasis is on using the library's numeric reducers, logical folds, and accumulator patterns instead of manual iteration.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Totals with sum/fold",
      "description": "Uses prelude-ls numeric reducers (sum/fold/foldl/fold1 variants) to compute per-day totals and overall totalEnergy without hand-written loops.",
      "max_score": 30
    },
    {
      "name": "Mean via package",
      "description": "Derives averagePerDay through prelude-ls mean/average or by dividing totals obtained via package folds, avoiding bespoke accumulation logic.",
      "max_score": 20
    },
    {
      "name": "Extremes helpers",
      "description": "Calculates maxDayEnergy and minDayEnergy using prelude-ls maximum/minimum (or related variants) instead of custom comparison loops.",
      "max_score": 15
    },
    {
      "name": "Boolean folds",
      "description": "Determines anyAlerts and allReported through prelude-ls logical reducers such as any/all/or-list/and-list rather than imperative checks.",
      "max_score": 20
    },
    {
      "name": "Merged via fold",
      "description": "Combines partial summaries with prelude-ls folding helpers (fold/foldl/foldr) to accumulate totals, extrema, and flags instead of manual indexing or mutation.",
      "max_score": 15
    }
  ]
}