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.
Background
In the
app-upgrade-agentsmigration, the evaluation needed the agent to start inside an existing application repository. Withenvironment.type: none, the agent still started in a generated/tmp/skill-up-*directory, so case prompts had to repeatedly instruct the agent tocdinto 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
noneruntime to use an explicit host workspace, for exampleenvironment.kwargs.workspaceor a clearerhost_workspacefield.Execcalls use that directory as cwd.How to verify
skill-up run --runtime none --runtime-kwarg workspace=/tmp/app ...against a case whose prompt executespwdor writes a marker file./tmp/appand generated files land there.--no-deleteand default cleanup do not accidentally delete a user-provided host workspace.NoneRuntime.Create,Workspace(), andExeccwd 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.