ur-agent 1.21.0 → 1.22.1

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,26 @@ 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
57
+ ur spec init auth-refactor --goal "refactor login without changing behavior"
58
+ ur spec run auth-refactor --all
59
+ ur spec verify auth-refactor
54
60
  ```
55
61
 
62
+ ## v1.22.0 Additions
63
+
64
+ | Addition | Surface | What it adds |
65
+ | --- | --- | --- |
66
+ | 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. |
67
+ | 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. |
68
+ | 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. |
69
+ | Spec verification / verifier kernel role | `ur spec verify <name>`, `src/services/agents/specVerifier.ts` | Deterministic project gates first, then a read-only deep verification subagent that must prove compile/test/lint/diff/runtime before PASS. Writes `.ur/specs/<name>/verification.md` and a `verification` record in `spec.json`. First concrete kernel role: verifier is stricter than the generator. |
70
+ | AgentKernel abstraction | `ur spec run|verify <name> --kernel`, `src/services/agents/kernel.ts` | Pure orchestrator separating planner, executor, verifier, critic, memory, router, and guard. Routes spec run/verify through kernel stages while keeping the legacy loop as default. Foundation for applying the same orchestration to workflows, crew, and CI loop. |
71
+ | Rich task decomposition | `ur crew create|run|plan ... --decompose`, `src/services/agents/decomposer.ts` | Splits large goals into atomic subtasks with goal, files touched, risk level (low/medium/high), tests required, and rollback point. Deterministic fallback + optional LLM-driven JSON decomposition. |
72
+ | Parallel specialized subagents | `ur pattern parallel "<task>" --execute`, `src/services/agents/patterns.ts` | Bug finder, patch writer, test writer, security auditor, and style reviewer run in parallel via the workflow executor, then a synthesizer merges results into one plan. |
73
+
56
74
  ## v1.21.0 Additions
57
75
 
58
76
  | 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
@@ -116,7 +116,7 @@ UR includes slash commands and CLI subcommands for common workflows:
116
116
  - `ur context-pack ...` to summarize architecture and persist task decisions, constraints, commands, and diffs
117
117
  - `ur code-index watch` to keep the local semantic code index fresh
118
118
  - `ur memory retention ...` to prune project-local memory by TTL, max entries, and decay
119
- - `ur spec ...` to scaffold requirements, design, and tasks, then run a spec task list
119
+ - `ur spec ...` to scaffold requirements, design, and tasks, run a spec task list, and verify with strict proof gates
120
120
  - `ur escalate ...` to plan, run, or ask an oracle model for hard tasks
121
121
  - `ur arena ...` to run multiple agents on the same task and select a winner
122
122
  - `ur test-first ...` to detect compile/test/lint commands, store failure traces, and install after-edit gates
@@ -125,7 +125,12 @@ 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
132
+ - `ur crew ...` to run lead+worker agent crews with optional automatic task decomposition
133
+ - `ur pattern ...` to run multi-agent collaboration patterns (PEER, DOE, concurrent, handoff, debate, parallel)
129
134
  - `ur doctor` to inspect CLI health
130
135
  - `ur update` or `ur upgrade` to check for updates
131
136
 
@@ -139,6 +144,8 @@ Agent platform examples:
139
144
  ```sh
140
145
  ur spec init demo --goal "1. add a utils.add function 2. add a test"
141
146
  ur spec run demo --all --dry-run
147
+ ur spec run demo --all --kernel
148
+ ur spec verify demo --kernel
142
149
  ur arena "implement a debounce helper" --agents 2 --dry-run
143
150
  ur escalate run "refactor the cache layer" --force-oracle --dry-run
144
151
  ur test-first detect
@@ -162,6 +169,13 @@ ur repo-edit preview rename oldName --to newName
162
169
  ur repo-edit apply rename oldName --to newName --check "bun test"
163
170
  ur ide diff capture --title "Working tree review"
164
171
  ur eval bench list
172
+ ur eval run starter --dry-run --json
173
+ ur eval run starter --metrics --json
174
+ ur eval report starter --dashboard
175
+ ur eval dashboard
176
+ ur crew create parser-crew --goal "fix the flaky parser test" --decompose --dry-run
177
+ ur crew run parser-crew --workers 3 --decompose --dry-run
178
+ ur pattern parallel "refactor login without changing behavior" --execute --dry-run
165
179
  ```
166
180
 
167
181
  ## 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.1</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.1",
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.1",
4
4
  "description": "UR terminal coding agent CLI",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",