You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Each path must contain a `.agentv/` directory. Registered projects are stored under `projects:` in `$AGENTV_HOME/config.yaml`, or `~/.agentv/config.yaml` when `AGENTV_HOME` is unset.
191
191
192
-
To register a remote repo and keep it synced automatically, add `repository` and `ref` to the entry in `$AGENTV_HOME/config.yaml`. `repository` uses GitHub's standard owner/name form and AgentV resolves it to `https://github.com/<owner>/<name>.git` for clone and pull operations:
192
+
To register a remote repo and keep it synced automatically, add `repo_url` and `ref` to the entry in `$AGENTV_HOME/config.yaml`. `repo_url` is the Git remote URL AgentV passes to `git clone`, so it can be HTTPS or SSH:
193
193
194
194
```yaml
195
195
projects:
196
196
- id: my-evals
197
197
name: My Evals
198
-
repository: example/my-evals
198
+
repo_url: https://github.com/example/my-evals.git
199
199
path: /srv/agentv/my-evals
200
200
ref: main
201
201
```
@@ -255,17 +255,17 @@ For a registered project, put results repo settings on that project's entry in `
`results.local_path`is the filesystem location of the local clone AgentV manages for the results repo. It is **not** a subdirectory inside the remote repo. `results.repository` uses GitHub owner/name form and resolves to `https://github.com/<owner>/<name>.git` for clone and push operations.
268
+
`results.path`is the filesystem location of the local clone AgentV manages for the results repo. It uses the same local-path field name as the source project. `results.repo_url` is the Git remote URL used for clone and push operations, so use HTTPS when credentials are HTTP-token based and SSH when the runtime has SSH keys configured.
269
269
270
270
You can also set a top-level global fallback in the same file. This is used when the current project is not registered or its registry entry has no `results` block:
271
271
@@ -279,10 +279,10 @@ results:
279
279
280
280
Project-local `.agentv/config.yaml` is for portable eval defaults such as `execution`, `eval_patterns`, and `dashboard`. Do not put `projects` in project-local config; AgentV warns and ignores it there. `results_by_project` is deprecated; use `projects[].results` in `$AGENTV_HOME/config.yaml`.
281
281
282
-
The project `repository` and the `results` block sync different repositories:
282
+
The project `repo_url` and the `results` block sync different repositories:
283
283
284
-
- `projects[].repository`is the eval source project. Dashboard startup clones or fast-forwards the project checkout so eval YAML, scripts, and project-local `.agentv/config.yaml` stay current.
285
-
- `projects[].results.repository`is the git-backed results store. **Sync Project** fetches, fast-forwards, and, when configured, pushes run artifacts and mutable metadata in that results repo clone.
284
+
- `projects[].repo_url`is the eval source project remote. Dashboard startup clones or fast-forwards the project checkout so eval YAML, scripts, and project-local `.agentv/config.yaml` stay current.
285
+
- `projects[].results.repo_url`is the git-backed results store remote. **Sync Project** fetches, fast-forwards, and, when configured, pushes run artifacts and mutable metadata in that results repo clone.
Legacy project fields (`source`, `results.mode`, `results.repo`, `results.path`, and `results.auto_push`) fail validation with migration guidance.
322
+
Legacy project fields (`source`, `repository`, `results.mode`, `results.repo`, `results.repository`, `results.local_path`, and `results.auto_push`) fail validation with migration guidance.
323
323
324
324
Use project-level **Sync Project** as the results exchange workflow. It handles pulled remote runs, locally edited metadata, dirty state, and blocked conflict feedback in one project-scoped action.
Copy file name to clipboardExpand all lines: packages/core/src/evaluation/validation/config-validator.ts
+27-25Lines changed: 27 additions & 25 deletions
Original file line number
Diff line number
Diff line change
@@ -175,17 +175,21 @@ function validateProjects(errors: ValidationError[], filePath: string, projects:
175
175
severity: 'error',
176
176
filePath,
177
177
location: `${location}.source`,
178
-
message: `Field '${location}.source' was removed. Move 'source.url' to '${location}.repository' as a GitHub owner/name value (for example, 'example/repo') and move 'source.ref' to '${location}.ref'.`,
178
+
message: `Field '${location}.source' was removed. Move 'source.url' to '${location}.repo_url' and move 'source.ref' to '${location}.ref'. Use a Git remote URL such as https://github.com/example/repo.git or git@github.com:example/repo.git.`,
179
179
});
180
180
}
181
181
182
182
if(projectRecord.repository!==undefined){
183
-
validateGitHubRepository(
184
-
errors,
183
+
errors.push({
184
+
severity: 'error',
185
185
filePath,
186
-
projectRecord.repository,
187
-
`${location}.repository`,
188
-
);
186
+
location: `${location}.repository`,
187
+
message: `Field '${location}.repository' was removed. Use '${location}.repo_url' with a Git remote URL instead.`,
@@ -212,7 +216,7 @@ function validateRequiredString(
212
216
}
213
217
}
214
218
215
-
functionvalidateGitHubRepository(
219
+
functionvalidateGitRemoteUrl(
216
220
errors: ValidationError[],
217
221
filePath: string,
218
222
value: unknown,
@@ -223,18 +227,18 @@ function validateGitHubRepository(
223
227
severity: 'error',
224
228
filePath,
225
229
location,
226
-
message: `Field '${location}' must be a non-empty GitHub owner/name repository (e.g., EntityProcess/agentv)`,
230
+
message: `Field '${location}' must be a non-empty Git remote URL (e.g., https://github.com/EntityProcess/agentv.git or git@github.com:EntityProcess/agentv.git)`,
message: `Field '${location}' must use GitHub owner/name format (e.g., EntityProcess/agentv), not a URL. It resolves to https://github.com/<owner>/<name>.git for git operations.`,
241
+
message: `Field '${location}' must be a Git remote URL, not an owner/name shorthand. Use https://github.com/owner/repo.git or git@github.com:owner/repo.git.`,
238
242
});
239
243
}
240
244
}
@@ -262,9 +266,10 @@ function validateProjectResultsConfig(
0 commit comments