or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-6/

{
  "context": "This evaluation assesses how well the engineer uses metro-memory-fs's access permission testing capabilities to validate file and directory permissions. The focus is on correct usage of the accessSync (or access/promises.access) method and the permission constants (F_OK, R_OK, W_OK, X_OK) provided by the package.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses accessSync method",
      "description": "Implementation uses metro-memory-fs's accessSync method (or the async access/promises.access methods) to check file/directory permissions",
      "max_score": 30
    },
    {
      "name": "Uses permission constants",
      "description": "Implementation correctly uses the fs.constants (F_OK, R_OK, W_OK, X_OK) provided by metro-memory-fs for permission checks",
      "max_score": 25
    },
    {
      "name": "Handles existence checking",
      "description": "Implementation uses F_OK constant or default accessSync behavior to check if files/directories exist",
      "max_score": 15
    },
    {
      "name": "Handles read permissions",
      "description": "Implementation uses R_OK constant with accessSync to validate read permissions on files",
      "max_score": 10
    },
    {
      "name": "Handles write permissions",
      "description": "Implementation uses W_OK constant with accessSync to validate write permissions on files",
      "max_score": 10
    },
    {
      "name": "Proper error handling",
      "description": "Implementation properly handles and propagates errors thrown by accessSync, preserving error codes (ENOENT, EACCES) without reimplementing permission logic",
      "max_score": 10
    }
  ]
}