or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-10/

{
  "context": "This criteria evaluates how well the engineer uses metro-memory-fs APIs to inspect and traverse the filesystem, specifically testing their understanding of distinguishing between different node types (DirectoryNode, FileNode, SymbolicLinkNode) and using appropriate filesystem methods to collect information about them.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Node Type Identification",
      "description": "Uses lstat or stat methods to get node information and correctly identifies node types using Stats object methods (isFile(), isDirectory(), isSymbolicLink())",
      "max_score": 25
    },
    {
      "name": "Directory Traversal",
      "description": "Uses readdir or readdirSync to list directory contents and implements recursive traversal to visit all nodes in the filesystem tree",
      "max_score": 20
    },
    {
      "name": "Symbolic Link Handling",
      "description": "Uses lstat (not stat) to identify symbolic links without following them, and uses readlink or readlinkSync to retrieve the target path of symbolic links",
      "max_score": 20
    },
    {
      "name": "File Size Retrieval",
      "description": "Correctly retrieves file sizes using the size property from Stats objects returned by lstat or stat",
      "max_score": 15
    },
    {
      "name": "Path Construction",
      "description": "Properly constructs full file paths during traversal by combining parent directory paths with entry names",
      "max_score": 10
    },
    {
      "name": "Correct API Selection",
      "description": "Chooses appropriate synchronous or asynchronous APIs (e.g., lstatSync vs lstat, readdirSync vs readdir) consistently throughout the implementation",
      "max_score": 10
    }
  ]
}