or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-8/

{
  "context": "Evaluates how the solution leverages @ckeditor/ckeditor5-mention to deliver marker-driven autocomplete with keyboard navigation, per-feed limits, and custom rendering that matches the spec. Scoring checks correct plugin wiring and reliance on the mention APIs rather than reimplementing dropdown behavior.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Plugin setup",
      "description": "Editor includes the Mention plugin (Mention/MentionEditing/MentionUI) and registers a mention config block so feeds, commit keys, and dropdown limits are controlled by the package.",
      "max_score": 20
    },
    {
      "name": "Feed config",
      "description": "Uses config.mention.feeds with distinct markers (e.g., @ and #) and per-feed settings like minimumCharacters and dropdownLimit so each marker queries and limits its own results.",
      "max_score": 25
    },
    {
      "name": "Keyboard handling",
      "description": "Relies on the built-in Mention UI behaviors (TextWatcher plus MentionsView) so ArrowUp/ArrowDown/Escape navigate and close the dropdown, and commitKeys (Enter/Tab by default or configured) insert the highlighted item.",
      "max_score": 20
    },
    {
      "name": "Insertion behavior",
      "description": "Commit uses MentionCommand#execute or default dropdown commit so the selected suggestion inserts at the caret with the package’s trailing-space handling instead of manual DOM edits.",
      "max_score": 15
    },
    {
      "name": "Custom rendering",
      "description": "Implements custom labels/insertion text by passing objects with text overrides to feeds and, when needed, using itemRenderer (MentionDomWrapperView/MentionListItemView) to display labels differently from inserted text.",
      "max_score": 20
    }
  ]
}