or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-9/

{
  "context": "Evaluates whether the solution uses JupyterLab terminal services to open, resume, and manage persistent server-side shell sessions while capturing command output as described in the spec.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Start session",
      "description": "Uses @jupyterlab/services TerminalManager.startNew with a provided name option when no matching session exists instead of spawning ad-hoc processes.",
      "max_score": 25
    },
    {
      "name": "Resume existing",
      "description": "Reattaches to an existing terminal id via TerminalManager.connectTo (or equivalent ITerminalConnection constructor) for resume flows rather than starting a new session when reconnecting after close.",
      "max_score": 20
    },
    {
      "name": "Command I/O",
      "description": "Sends commands through ITerminalConnection.send with stdin messages (ensuring newline termination) and aggregates output by listening to ITerminalConnection.messageReceived/stdout events to fulfill the run-and-capture behavior.",
      "max_score": 20
    },
    {
      "name": "List sessions",
      "description": "Retrieves active sessions using TerminalManager.running() (optionally after refreshRunning()) to list ids before and after operations, aligning with the spec's list capability.",
      "max_score": 15
    },
    {
      "name": "Shutdown server",
      "description": "Terminates server-side shells with TerminalManager.shutdown for the targeted id (distinct from disposing a client handle) to satisfy the explicit shutdown requirement.",
      "max_score": 20
    }
  ]
}