abhigyanpatwari/GitNexus · error · SandboxError
pinned GitNexus runtime component is unavailable: {source}:
Error message
pinned GitNexus runtime component is unavailable: {source}: {exc} What it means
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.
Source
Thrown at eval/workflow_bench/runtime_mounts.py:164
raise SandboxError(f"{label} must be a real directory: {root}")
return root
def _validated_runtime_component(
root: Path,
relative: str,
target: str,
*,
directory: bool,
) -> ReadOnlyMount:
"""Validate one direct runtime component before exposing only that path."""
source = root / relative
try:
mode = source.lstat().st_mode
resolved = source.resolve(strict=True)
except OSError as exc:
raise SandboxError(f"pinned GitNexus runtime component is unavailable: {source}: {exc}") from exc
expected_type = stat.S_ISDIR(mode) if directory else stat.S_ISREG(mode)
if stat.S_ISLNK(mode) or not expected_type or resolved != source:
kind = "directory" if directory else "file"
raise SandboxError(f"pinned GitNexus runtime component must be a real {kind}: {source}")
return ReadOnlyMount(source=source, target=target)
def trusted_gitnexus_runtime_mounts() -> tuple[ReadOnlyMount, ...]:
"""Expose only the files needed by the pinned CLI and linked shared package."""
runtime = _validated_runtime_root(
HARNESS_ROOT / "gitnexus",
label="pinned GitNexus runtime",
)
shared = _validated_runtime_root(
HARNESS_ROOT / "gitnexus-shared",
label="pinned GitNexus shared runtime",
)View on GitHub (pinned to d540b00184)
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.
Defensive patterns
Strategy: validation
Validate before calling
from pathlib import Path
source = Path(root) / relative
if not source.exists():
raise SystemExit(f"runtime component missing: {source}") Type guard
from pathlib import Path
def component_exists(root: str, relative: str) -> bool:
return (Path(root) / relative).exists() Prevention
- 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/.
When it happens
Trigger: 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.
Common situations: Fresh clone without `npm install`/`npm run build`; a partial checkout; CI caching node_modules incorrectly; deleted vendor artifacts.
Related errors
- {label} is unavailable: {root}: {exc}
- pinned GitNexus runtime component must be a real {kind}: {so
- evidence source must be a regular non-symlink file: {path}
- results directory is unavailable: {root}: {exc}
- results directory must be a real non-symlink directory: {roo
AI-assisted analysis of abhigyanpatwari/GitNexus@d540b00184 (2026-08-12).
Data as JSON: /api/errors/50d0390ff0e1f697.
Report an issue: GitHub.