Skip to content

fix(core): allow mode=static with no repos and no path#1083

Merged
christso merged 1 commit intomainfrom
fix/1082-static-mode-no-path
Apr 13, 2026
Merged

fix(core): allow mode=static with no repos and no path#1083
christso merged 1 commit intomainfrom
fix/1082-static-mode-no-path

Conversation

@christso
Copy link
Copy Markdown
Collaborator

Summary

  • When workspace.mode=static is set without workspace.path and there are no repos, fall back to temp mode instead of erroring
  • The static mode's purpose is to skip repo cloning, which is already a no-op when there are no repos — so the path requirement is unnecessary in this case

Changes

  • packages/core/src/evaluation/orchestrator.ts: Move the useStaticWorkspace derivation after the new fallback check. When mode=static + no path + no repos, downgrade configuredMode to temp so a temp directory is created automatically
  • packages/core/test/evaluation/orchestrator.test.ts: Updated existing test to verify the error still fires when repos are present; added new test verifying the fallback succeeds with no repos

Test plan

  • Existing test updated: mode=static without path with repos still errors
  • New test: mode=static without path and without repos falls back to temp mode and succeeds
  • All 1618 core tests pass
  • Pre-push hooks pass (build, typecheck, lint, test, validate examples)

Closes #1082

🤖 Generated with Claude Code

When workspace.mode=static is set without workspace.path and there are
no repos, fall back to temp mode instead of erroring. The static mode's
purpose is to skip repo cloning, which is already a no-op when there are
no repos.

Closes #1082

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying agentv with  Cloudflare Pages  Cloudflare Pages

Latest commit: f532755
Status: ✅  Deploy successful!
Preview URL: https://43399506.agentv.pages.dev
Branch Preview URL: https://fix-1082-static-mode-no-path.agentv.pages.dev

View logs

@christso
Copy link
Copy Markdown
Collaborator Author

Red/Green UAT

Eval file (mode: static, no path, no repos):

workspace:
  mode: static
tests:
  - id: test1
    input: "Say hello"
    assert:
      - type: contains
        value: hello

RED (main) — setup error

{"execution_status":"execution_error","error":"workspace.mode=static requires workspace.path or --workspace-path","failure_stage":"setup"}

GREEN (fix branch) — eval runs successfully

{"execution_status":"quality_failure","scores":[{"name":"contains-hello","type":"contains","score":0,"verdict":"fail"}]}

The quality_failure is expected — --dry-run returns mock output that doesn't contain "hello". The important thing is there's no setup error and the eval actually executes.

@christso christso marked this pull request as ready for review April 13, 2026 13:27
@christso christso merged commit 3482206 into main Apr 13, 2026
4 checks passed
@christso christso deleted the fix/1082-static-mode-no-path branch April 13, 2026 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

mode: static with no repos should not require workspace.path

1 participant