ur-agent 1.21.0 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51,8 +51,19 @@ ur --discover-ollama
51
51
  ur --ollama-host http://192.168.1.50:11434
52
52
  ur worktree list
53
53
  ur worktree clean --dry-run
54
+ ur eval run starter --metrics --json
55
+ ur eval report starter --dashboard
56
+ ur eval dashboard
54
57
  ```
55
58
 
59
+ ## v1.22.0 Additions
60
+
61
+ | Addition | Surface | What it adds |
62
+ | --- | --- | --- |
63
+ | Eval execution metrics | `ur eval run <suite> --metrics`, `UR_EVAL_METRICS_FILE` | Child-serialized cost, tokens, model, duration, files changed, insertions/deletions, command failures, human-edit heuristics, and per-case `testCommand` pass/fail. Safe for parallel runs because each child writes its own metrics file. |
64
+ | Richer eval dashboard | `ur eval dashboard`, `ur eval report <suite> --dashboard` | Local-first HTML dashboard with summary cards and a per-case timeline showing model, time, cost, tokens, diffs, test result, command failures, and human edits. |
65
+ | Per-case run metrics persistence | `.ur/evals/.runs/<suite>/<case>.json` | `ur eval run <suite> --metrics` writes each case's metrics to a JSON file for downstream analysis. |
66
+
56
67
  ## v1.21.0 Additions
57
68
 
58
69
  | Addition | Surface | What it adds |
@@ -0,0 +1,48 @@
1
+ # Upgrading to UR Agent v1.22.0
2
+
3
+ ## What's new
4
+
5
+ v1.22.0 turns `ur eval` into a real agent benchmark tool.
6
+
7
+ - **Execution metrics** — headless `ur -p` child runs now write a metrics JSON file
8
+ via `UR_EVAL_METRICS_FILE`. The eval runner reads it and also runs
9
+ `git diff --stat` and an optional per-case `expect.testCommand`. Captured
10
+ metrics: cost USD, input/output tokens, model, API duration, files changed,
11
+ insertions/deletions, command failures, human-edit heuristics, and test
12
+ pass/fail.
13
+ - **Parallel-safe by design** — each child writes its own metrics file, so
14
+ future parallel eval runs will not corrupt shared cost state.
15
+ - **Richer dashboard** — `ur eval dashboard` and
16
+ `ur eval report <suite> --dashboard` generate local HTML dashboards with
17
+ summary cards (pass rate, test pass rate, cost, tokens, files changed, command
18
+ failures, human edits, duration) and a per-case timeline showing model, time,
19
+ cost, tokens, diffs, test result, and output preview.
20
+ - **Per-case metrics persistence** — `ur eval run <suite> --metrics` writes
21
+ each case's metrics to `.ur/evals/.runs/<suite>/<case>.json`.
22
+ - **Aggregate reporting** — `ur eval report <suite>` now prints totals for cost,
23
+ tokens, files changed, command failures, human edits, duration, and test pass
24
+ rate.
25
+
26
+ ## Quick examples
27
+
28
+ ```sh
29
+ # Run the starter suite and print JSON with metrics
30
+ ur eval run starter --metrics --json
31
+
32
+ # Write a single-suite HTML timeline dashboard
33
+ ur eval report starter --dashboard
34
+
35
+ # Generate the combined dashboard across all saved reports
36
+ ur eval dashboard
37
+
38
+ # Import a SWE-bench-style export and run it
39
+ ur eval bench swe-bench --file issues.jsonl --name my-bench
40
+ ur eval run my-bench --metrics
41
+ ```
42
+
43
+ ## Upgrade steps
44
+
45
+ 1. Pull the release and run `bun install`.
46
+ 2. Run `bun run typecheck` and `bun test` to confirm the local state.
47
+ 3. Rebuild the bundled CLI: `bun run bundle`.
48
+ 4. No settings or project file migration is required.
package/docs/USAGE.md CHANGED
@@ -125,6 +125,9 @@ UR includes slash commands and CLI subcommands for common workflows:
125
125
  - `ur ide diff ...` to capture editor-readable inline diff bundles
126
126
  - `ur acp ...` to start/stop/status the Agent Communication Protocol server for IDE extensions
127
127
  - `ur exec ...` to run prompts in non-interactive mode with optional concurrency
128
+ - `ur eval run ...` to run a suite, grade results, and capture execution metrics
129
+ - `ur eval report ...` to show a saved report or write a single-suite dashboard
130
+ - `ur eval dashboard` to generate the local HTML dashboard across all reports
128
131
  - `ur eval bench ...` to import local SWE-bench, Terminal-Bench, or Aider Polyglot exports
129
132
  - `ur doctor` to inspect CLI health
130
133
  - `ur update` or `ur upgrade` to check for updates
@@ -162,6 +165,10 @@ ur repo-edit preview rename oldName --to newName
162
165
  ur repo-edit apply rename oldName --to newName --check "bun test"
163
166
  ur ide diff capture --title "Working tree review"
164
167
  ur eval bench list
168
+ ur eval run starter --dry-run --json
169
+ ur eval run starter --metrics --json
170
+ ur eval report starter --dashboard
171
+ ur eval dashboard
165
172
  ```
166
173
 
167
174
  ## Permissions
@@ -241,8 +241,8 @@ const commands = [
241
241
  name: 'eval',
242
242
  category: 'Verification',
243
243
  aliases: ['evals'],
244
- summary: 'Create, validate, run, and report public agent eval suites with deterministic grading.',
245
- examples: ['ur eval init', 'ur eval list', 'ur eval validate starter', 'ur eval run starter --dry-run', 'ur eval report starter'],
244
+ summary: 'Create, validate, run, and report public agent eval suites with deterministic grading plus execution metrics and a local HTML dashboard.',
245
+ examples: ['ur eval init', 'ur eval list', 'ur eval validate starter', 'ur eval run starter --dry-run', 'ur eval run starter --metrics --json', 'ur eval report starter --dashboard', 'ur eval dashboard'],
246
246
  },
247
247
  {
248
248
  name: 'goal',
@@ -630,8 +630,8 @@ const examples = [
630
630
  },
631
631
  {
632
632
  title: 'Eval suite',
633
- text: 'Create a suite, validate, run offline, then run live.',
634
- code: 'ur eval init\nur eval validate starter\nur eval run starter --dry-run\nur eval report starter',
633
+ text: 'Create a suite, validate, run offline with metrics, then open the dashboard.',
634
+ code: 'ur eval init\nur eval validate starter\nur eval run starter --dry-run\nur eval run starter --metrics\nur eval report starter --dashboard',
635
635
  },
636
636
  {
637
637
  title: 'Safe automation',
@@ -43,7 +43,7 @@
43
43
  <main id="content" class="content">
44
44
  <header class="topbar">
45
45
  <div>
46
- <p class="eyebrow">Version 1.21.0</p>
46
+ <p class="eyebrow">Version 1.22.0</p>
47
47
  <h1>UR Agent Documentation</h1>
48
48
  <p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR Agent.</p>
49
49
  </div>
@@ -2,7 +2,7 @@
2
2
  "name": "ur-inline-diffs",
3
3
  "displayName": "UR Inline Diffs",
4
4
  "description": "Review UR inline diff bundles from .ur/ide/diffs inside VS Code.",
5
- "version": "1.21.0",
5
+ "version": "1.22.0",
6
6
  "publisher": "ur-agent",
7
7
  "engines": {
8
8
  "vscode": "^1.92.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ur-agent",
3
- "version": "1.21.0",
3
+ "version": "1.22.0",
4
4
  "description": "UR terminal coding agent CLI",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",