evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates how well the solution uses JupyterLab APIs to create a scratch code console that shares a notebook's kernel, executes code with ordered prompts, and cleans up without disrupting the notebook session. It focuses on session reuse, console construction, execution handling, prompt tracking, and lifecycle management.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Shared session",
"description": "Links the console to the notebook by reusing NotebookPanel.sessionContext (or the current INotebookTracker sessionContext) instead of starting a fresh kernel.",
"max_score": 30
},
{
"name": "Console creation",
"description": "Builds the UI with JupyterLab console classes (ConsolePanel/CodeConsole from @jupyterlab/console plus required rendermime/mimeType services) rather than custom widgets.",
"max_score": 20
},
{
"name": "Execution capture",
"description": "Runs submitted code via CodeConsole.execute (or ConsolePanel.console.execute) and gathers outputs from the execution future/output area for each prompt.",
"max_score": 20
},
{
"name": "Prompt logging",
"description": "Reads prompt numbers from the console model (e.g., promptCell.model.executionCount) and records them in chronological history returned by the helper.",
"max_score": 15
},
{
"name": "Dispose handling",
"description": "Disposes the console using JupyterLab lifecycle methods (ConsolePanel.dispose and/or sessionContext disposal when appropriate), stops accepting new runs after disposal, and leaves the notebook kernel active.",
"max_score": 15
}
]
}