or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-2/

{
  "context": "Evaluates how the solution uses CKEditor 5's Mention plugin to deliver dual-marker feeds, custom rendering, async feed behavior, and command-driven insertion as outlined in the spec. Checks that mention-specific APIs are leveraged instead of ad-hoc implementations.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Plugin setup",
      "description": "Includes the Mention plugin (or MentionEditing and MentionUI) in the editor build and configures config.mention.feeds with '@' and '#' markers using the package's marker validation.",
      "max_score": 20
    },
    {
      "name": "Feed options",
      "description": "Defines per-feed minimumCharacters and dropdownLimit within config.mention.feeds and uses the package's feed callbacks (sync or Promise-returning) so each marker pulls its own items; commitKeys are set via config.mention.commitKeys when applicable.",
      "max_score": 20
    },
    {
      "name": "Renderer and text",
      "description": "Supplies an itemRenderer in config.mention.feeds (returning string or DOM via MentionDomWrapperView) to render combined name/handle rows, and uses feed item objects with text/metadata so Mention converts selections into mention attributes rather than manual DOM hacks.",
      "max_score": 20
    },
    {
      "name": "Async freshness",
      "description": "Implements the '#' feed as an async callback that returns a Promise and relies on Mention's built-in stale-response filtering (or tracks the last query) so slower responses do not overwrite newer dropdown results.",
      "max_score": 20
    },
    {
      "name": "Command insertion",
      "description": "Performs programmatic insertion through the 'mention' command (MentionCommand#execute) with marker-prefixed mention.id and optional text override, letting the command merge existing selection attributes and respect the package's trailing-space handling.",
      "max_score": 20
    }
  ]
}