{"record":{"id":"50d0390ff0e1f697","repo":"abhigyanpatwari/GitNexus","slug":"pinned-gitnexus-runtime-component-is-unavailable","errorCode":null,"errorMessage":"pinned GitNexus runtime component is unavailable: {source}: {exc}","messagePattern":"pinned GitNexus runtime component is unavailable: (.+?): (.+?)","errorType":"exception","errorClass":"SandboxError","httpStatus":null,"severity":"error","filePath":"eval/workflow_bench/runtime_mounts.py","lineNumber":164,"sourceCode":"        raise SandboxError(f\"{label} must be a real directory: {root}\")\n    return root\n\n\ndef _validated_runtime_component(\n    root: Path,\n    relative: str,\n    target: str,\n    *,\n    directory: bool,\n) -> ReadOnlyMount:\n    \"\"\"Validate one direct runtime component before exposing only that path.\"\"\"\n\n    source = root / relative\n    try:\n        mode = source.lstat().st_mode\n        resolved = source.resolve(strict=True)\n    except OSError as exc:\n        raise SandboxError(f\"pinned GitNexus runtime component is unavailable: {source}: {exc}\") from exc\n    expected_type = stat.S_ISDIR(mode) if directory else stat.S_ISREG(mode)\n    if stat.S_ISLNK(mode) or not expected_type or resolved != source:\n        kind = \"directory\" if directory else \"file\"\n        raise SandboxError(f\"pinned GitNexus runtime component must be a real {kind}: {source}\")\n    return ReadOnlyMount(source=source, target=target)\n\n\ndef trusted_gitnexus_runtime_mounts() -> tuple[ReadOnlyMount, ...]:\n    \"\"\"Expose only the files needed by the pinned CLI and linked shared package.\"\"\"\n\n    runtime = _validated_runtime_root(\n        HARNESS_ROOT / \"gitnexus\",\n        label=\"pinned GitNexus runtime\",\n    )\n    shared = _validated_runtime_root(\n        HARNESS_ROOT / \"gitnexus-shared\",\n        label=\"pinned GitNexus shared runtime\",\n    )","sourceCodeStart":146,"sourceCodeEnd":182,"githubUrl":"https://github.com/abhigyanpatwari/GitNexus/blob/d540b00184d71a896261ee02670da9a92d59d8f7/eval/workflow_bench/runtime_mounts.py#L146-L182","documentation":"Raised by _validated_runtime_component (runtime_mounts.py:160-164) when lstat() or resolve(strict=True) on a specific runtime component path (e.g. gitnexus/dist, gitnexus/package.json, gitnexus/node_modules, gitnexus/vendor, gitnexus/hooks/claude, gitnexus-shared/dist, gitnexus-shared/package.json) raises OSError. The source path reported is root/relative.","triggerScenarios":"The dist build output is missing (not built); node_modules absent (npm install not run); vendor directory missing; package.json unreadable (EACCES/ENOENT); a component path broken.","commonSituations":"Fresh clone without `npm install`/`npm run build`; a partial checkout; CI caching node_modules incorrectly; deleted vendor artifacts.","solutions":["Build the package: `cd gitnexus && npm install && npm run build` (and same for gitnexus-shared).","Confirm the named source file exists: `ls -l <source>`.","Restore vendor/ via the documented vendoring step if missing.","Check read permissions on the path."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"from pathlib import Path\nsource = Path(root) / relative\nif not source.exists():\n    raise SystemExit(f\"runtime component missing: {source}\")","typeGuard":"from pathlib import Path\ndef component_exists(root: str, relative: str) -> bool:\n    return (Path(root) / relative).exists()","tryCatchPattern":null,"preventionTips":["Build before benchmarking: `npm install && npm run build` in gitnexus/ and gitnexus-shared/.","Ensure vendor/ and node_modules/ are populated.","Confirm read permissions on package.json and dist/."],"tags":["workflow-bench","sandbox","filesystem","runtime","build"],"backgroundTag":null,"analyzedSha":"d540b00184d71a896261ee02670da9a92d59d8f7","analyzedAt":"2026-08-12T19:50:25.132Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}