feat(runtime): mount local targets instead of copying them in (#958)

Co-authored-by: Ahmed Allam <ahmed39652003@gmail.com>
This commit is contained in:
devin-ai-integration[bot]
2026-08-02 07:45:10 -07:00
committed by GitHub
co-authored by Ahmed Allam
parent b6cf156e95
commit dbc427d816
21 changed files with 567 additions and 715 deletions
+5 -2
View File
@@ -59,8 +59,11 @@ def build_root_task(scan_config: dict[str, Any]) -> str:
)
elif ttype == "local_code":
path = details.get("target_path", "unknown")
suffix = ", read-only mount" if details.get("mount") else ""
sections["Local Codebases"].append(f"- {path} (available at: {workspace_path}{suffix})")
sections["Local Codebases"].append(
f"- {path} (available at: {workspace_path}; "
"this is the user's real directory, mounted live and writable — "
".git/.agents/.codex are read-only)"
)
elif ttype == "web_application":
sections["URLs"].append(f"- {details.get('target_url', '')}")
elif ttype == "ip_address":
+10
View File
@@ -53,6 +53,8 @@ if TYPE_CHECKING:
from agents.memory import SQLiteSession
from agents.result import RunResultBase
from strix.runtime.status import StatusSink
logger = logging.getLogger(__name__)
@@ -120,6 +122,7 @@ async def run_strix_scan(
event_sink: StreamEventSink | None = None,
root_instructions_override: str | None = None,
extra_system_prompt_context: dict[str, Any] | None = None,
status_sink: StatusSink | None = None,
) -> RunResultBase | None:
"""Run or resume one Strix scan against a sandbox.
@@ -129,6 +132,11 @@ async def run_strix_scan(
context before prompt rendering. Child agents keep the standard scan prompt
and context.
"""
def report(phase: str) -> None:
if status_sink is not None:
status_sink(phase)
if scan_id is None:
scan_id = f"scan-{uuid.uuid4().hex[:8]}"
@@ -219,7 +227,9 @@ async def run_strix_scan(
scan_id,
image=image,
local_sources=local_sources or [],
status_sink=status_sink,
)
report("Waiting for the first model response")
logger.info("Sandbox ready for scan %s", scan_id)
sandbox_session = bundle["session"]