evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates whether the solution leverages JupyterLab's multi-document workspace APIs to open documents via commands, arrange them with split panels, persist layout snapshots, and restore/focus them using the built-in shell and state services.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Document commands",
"description": "Primary and secondary files are opened through app.commands.execute('docmanager:open', ...) (or equivalent JupyterFrontEnd command) so they become main area widgets, rather than manual file loading or custom widgets.",
"max_score": 20
},
{
"name": "Console docking",
"description": "A kernel-backed console widget is created via commands.execute('console:create', ...) (optionally linked to the primary file) and added to the main area through the shell instead of custom DOM.",
"max_score": 15
},
{
"name": "Split layout",
"description": "Main area widgets are placed using app.shell.add/ILabShell.add with mode: 'split-right' for the secondary relative to the primary and mode: 'split-bottom' (or equivalent dock insert) for the console so all three panes show concurrently.",
"max_score": 25
},
{
"name": "Layout snapshot",
"description": "app.shell.saveLayout() (ILabShell.saveLayout) is used to capture the workspace arrangement and the resulting layout object is stored via IStateDB.save or similar; restoration uses app.shell.restoreLayout(savedLayout) rather than manual geometry recreation.",
"max_score": 25
},
{
"name": "Reuse and focus",
"description": "Existing widgets are reused via shell/widget tracking instead of duplicated, and focus is set with app.shell.activateById(primary.id) (or equivalent) after create/restore.",
"max_score": 15
}
]
}