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.
- package/CHANGELOG.md +95 -0
- package/README.md +16 -2
- package/dist/cli.js +1882 -654
- package/docs/AGENT_FEATURES.md +18 -0
- package/docs/AGENT_UPGRADE_1.22.0.md +48 -0
- package/docs/USAGE.md +15 -1
- package/documentation/app.js +4 -4
- package/documentation/index.html +1 -1
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
package/docs/AGENT_FEATURES.md
CHANGED
|
@@ -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,
|
|
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
|
package/documentation/app.js
CHANGED
|
@@ -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
|
|
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',
|
package/documentation/index.html
CHANGED
|
@@ -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.
|
|
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>
|