Skip to content

Support an explicit host workspace for the none runtime #119

Description

@roark47

Background

In the app-upgrade-agents migration, the evaluation needed the agent to start inside an existing application repository. With environment.type: none, the agent still started in a generated /tmp/skill-up-* directory, so case prompts had to repeatedly instruct the agent to cd into an injected application path.

That workaround is fragile for long-running end-to-end evaluations because it depends on the model following directory instructions in every relevant command.

Why skill-up should change

The runtime owns the case working directory. For local/host execution, users need a way to say: "run this case in this existing workspace". Silently ignoring a workspace-related runtime kwarg is also confusing; unsupported kwargs should be rejected or documented clearly.

What to change

  • Add a supported configuration for the none runtime to use an explicit host workspace, for example environment.kwargs.workspace or a clearer host_workspace field.
  • Make default runtime Exec calls use that directory as cwd.
  • Define how fixture upload, skill installation, artifacts, and cleanup interact with an explicit host workspace.
  • If this is intentionally unsupported, fail validation when users pass the kwarg instead of ignoring it.

How to verify

  • Run skill-up run --runtime none --runtime-kwarg workspace=/tmp/app ... against a case whose prompt executes pwd or writes a marker file.
  • Assert the command runs in /tmp/app and generated files land there.
  • Verify --no-delete and default cleanup do not accidentally delete a user-provided host workspace.
  • Add unit tests for NoneRuntime.Create, Workspace(), and Exec cwd behavior.

Architecture impact

This needs a clear separation between the runtime execution workspace and the report/artifact output workspace. It also needs explicit cleanup semantics so skill-up never removes a user-owned repository by accident.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Fields

No fields configured for Feature.

Projects

Status
Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions