ur-agent 1.33.0 → 1.35.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.
- package/CHANGELOG.md +35 -0
- package/QUALITY.md +10 -5
- package/README.md +83 -31
- package/RELEASE.md +11 -1
- package/dist/cli.js +95 -126
- package/docs/AGENT_FEATURES.md +2 -2
- package/docs/AGENT_TRENDS.md +1 -1
- package/docs/CONFIGURATION.md +11 -9
- package/docs/TROUBLESHOOTING.md +204 -0
- package/docs/USAGE.md +38 -16
- package/docs/VALIDATION.md +1 -1
- package/docs/providers.md +30 -22
- package/documentation/app.js +55 -13
- package/documentation/index.html +5 -5
- package/examples/provider_selection.md +45 -0
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
- package/docs/AGENT_UPGRADE_1.15.0.md +0 -129
- package/docs/AGENT_UPGRADE_1.16.0.md +0 -102
- package/docs/AGENT_UPGRADE_1.17.0.md +0 -32
- package/docs/AGENT_UPGRADE_1.18.0.md +0 -45
- package/docs/AGENT_UPGRADE_1.19.0.md +0 -41
- package/docs/AGENT_UPGRADE_1.20.0.md +0 -42
- package/docs/AGENT_UPGRADE_1.21.0.md +0 -58
- package/docs/AGENT_UPGRADE_1.22.0.md +0 -48
- package/docs/CODE_FEATURE_INVENTORY.md +0 -1042
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Provider and model selection
|
|
2
|
+
|
|
3
|
+
Check what is connected, pick a provider, then pick a model scoped to it.
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
ur provider list # all providers with access type and status
|
|
7
|
+
ur connect status # connection state for every provider
|
|
8
|
+
ur provider doctor # detailed checks for the selected provider
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Local (default, no account needed — requires a running Ollama app):
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
ur config set provider ollama
|
|
15
|
+
ur --model qwen2.5-coder:latest
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
API key (stored securely in the OS keychain):
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
ur connect openai-api --key <KEY> # or: echo "$OPENAI_API_KEY" | ur connect openai-api
|
|
22
|
+
ur config set provider openai-api
|
|
23
|
+
ur config set model gpt-5.5
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Local OpenAI-compatible server (LM Studio, llama.cpp, vLLM):
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
ur config set provider lmstudio
|
|
30
|
+
ur config set base_url http://localhost:1234/v1
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Subscription CLI (uses the vendor's official CLI and your subscription):
|
|
34
|
+
|
|
35
|
+
```sh
|
|
36
|
+
ur auth chatgpt # official Codex CLI login
|
|
37
|
+
ur config set provider codex-cli
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Inside a session, `/model` gives the same flow interactively: provider first,
|
|
41
|
+
then only that provider's models. Verify the active pair any time:
|
|
42
|
+
|
|
43
|
+
```sh
|
|
44
|
+
ur provider status
|
|
45
|
+
```
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "ur-inline-diffs",
|
|
3
3
|
"displayName": "UR Inline Diffs",
|
|
4
4
|
"description": "Review, apply, and reject UR inline diff bundles from .ur/ide/diffs inside VS Code.",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.35.0",
|
|
6
6
|
"publisher": "ur-agent",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
# UR-AGENT 1.15.0 Upgrade Notes
|
|
2
|
-
|
|
3
|
-
UR 1.15.0 keeps the agent local-first and Ollama-centered. The new agent
|
|
4
|
-
platform surfaces do not add Anthropic, OpenAI, or other direct provider API
|
|
5
|
-
dependencies. Network-facing behavior remains opt-in.
|
|
6
|
-
|
|
7
|
-
## New Local Agent Surfaces
|
|
8
|
-
|
|
9
|
-
### Background agents
|
|
10
|
-
|
|
11
|
-
```sh
|
|
12
|
-
ur bg run "fix the flaky parser test" --worktree
|
|
13
|
-
ur bg fanout "try three parser fixes" --agents 3 --worktree
|
|
14
|
-
ur bg list
|
|
15
|
-
ur bg status <id>
|
|
16
|
-
ur bg logs <id> --tail 100
|
|
17
|
-
ur bg attach <id>
|
|
18
|
-
ur bg kill <id>
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
State is stored under `.ur/background/`. Worktrees are stored under
|
|
22
|
-
`.ur/worktrees/`. Pull requests are created only when `--pr` is passed and then
|
|
23
|
-
use the existing local `gh` CLI path.
|
|
24
|
-
|
|
25
|
-
### Context and memory retention
|
|
26
|
-
|
|
27
|
-
```sh
|
|
28
|
-
ur config set compaction.autoThreshold 80
|
|
29
|
-
ur memory retention show
|
|
30
|
-
ur memory retention set --ttl-days 90 --max-entries 5000 --decay-days 30
|
|
31
|
-
ur memory retention prune
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
`compaction.autoThreshold` is a global percentage threshold from 50 to 95. The
|
|
35
|
-
retention command prunes project-local `.ur/memory/*.jsonl` files.
|
|
36
|
-
|
|
37
|
-
### Code-index watcher
|
|
38
|
-
|
|
39
|
-
```sh
|
|
40
|
-
ur config set codeIndex.autoReindex true
|
|
41
|
-
ur code-index watch --graph
|
|
42
|
-
ur code-index watch --dry-run --json
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
The watcher uses local filesystem events and the same local Ollama embedding
|
|
46
|
-
path as `ur code-index build`.
|
|
47
|
-
|
|
48
|
-
### Artifact steering
|
|
49
|
-
|
|
50
|
-
```sh
|
|
51
|
-
ur artifacts add --kind plan --title "Plan" --task <bg_id>
|
|
52
|
-
ur artifacts comment <artifact_id> --feedback "Prefer the simpler parser path"
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Comments are written to the artifact and to the linked background task inbox so
|
|
56
|
-
long-running work has durable steering feedback. Background workers now run in
|
|
57
|
-
stream-json mode and inject new inbox comments into the child agent as
|
|
58
|
-
`priority: "now"` user turns while the process is active.
|
|
59
|
-
|
|
60
|
-
### A2A task server
|
|
61
|
-
|
|
62
|
-
```sh
|
|
63
|
-
ur a2a card
|
|
64
|
-
ur a2a serve --host 127.0.0.1 --port 8765 --token "$UR_A2A_TOKEN"
|
|
65
|
-
ur a2a token mint --secret "$UR_A2A_DELEGATION_SECRET" --scope coding-agent
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
The server is opt-in. It refuses off-loopback binds unless a static bearer token
|
|
69
|
-
or delegation secret is configured. Task execution is backed by UR background
|
|
70
|
-
tasks and local `ur -p`; no external model provider API is introduced.
|
|
71
|
-
|
|
72
|
-
Useful routes:
|
|
73
|
-
|
|
74
|
-
- `GET /healthz`
|
|
75
|
-
- `GET /.well-known/agent-card.json`
|
|
76
|
-
- `POST /a2a/tasks`
|
|
77
|
-
- `GET /a2a/tasks`
|
|
78
|
-
- `GET /a2a/tasks/:id`
|
|
79
|
-
- `GET /a2a/tasks/:id/output`
|
|
80
|
-
- `POST /a2a/tasks/:id/cancel`
|
|
81
|
-
- `DELETE /a2a/tasks/:id`
|
|
82
|
-
|
|
83
|
-
### IDE inline diff bundles
|
|
84
|
-
|
|
85
|
-
```sh
|
|
86
|
-
ur ide diff capture --title "Parser fix"
|
|
87
|
-
ur ide diff list
|
|
88
|
-
ur ide diff show diff-1
|
|
89
|
-
ur ide diff comment diff-1 --feedback "Inline note" --file src/parser.ts --line 42
|
|
90
|
-
ur ide diff schema
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
Bundles are stored under `.ur/ide/diffs/` as a manifest, per-diff metadata, and
|
|
94
|
-
unified patch files. The repo also ships a native VS Code extension at
|
|
95
|
-
`extensions/vscode-ur-inline-diffs/` that lists bundles, opens patch previews,
|
|
96
|
-
and writes comments back into the UR metadata.
|
|
97
|
-
|
|
98
|
-
### Benchmark adapters
|
|
99
|
-
|
|
100
|
-
```sh
|
|
101
|
-
ur eval bench list
|
|
102
|
-
ur eval bench swe-bench --file swe.jsonl --name local-swe
|
|
103
|
-
ur eval bench terminal-bench --file terminal.jsonl --name local-terminal
|
|
104
|
-
ur eval bench aider-polyglot --file aider.jsonl --name local-polyglot
|
|
105
|
-
ur eval run local-swe --dry-run
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
Adapters import local JSON or JSONL exports into UR eval suites. They do not
|
|
109
|
-
download datasets or call external services.
|
|
110
|
-
|
|
111
|
-
## Release Verification
|
|
112
|
-
|
|
113
|
-
Run these before publishing:
|
|
114
|
-
|
|
115
|
-
```sh
|
|
116
|
-
bun test test/agentFeatureCommands.test.ts test/agentDelegation.test.ts test/codeIndex.test.ts
|
|
117
|
-
bun run typecheck
|
|
118
|
-
npm pack --dry-run
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
Optional local smoke checks:
|
|
122
|
-
|
|
123
|
-
```sh
|
|
124
|
-
bun src/entrypoints/cli.tsx bg list
|
|
125
|
-
bun src/entrypoints/cli.tsx memory retention show
|
|
126
|
-
bun src/entrypoints/cli.tsx code-index watch --dry-run
|
|
127
|
-
bun src/entrypoints/cli.tsx eval bench list
|
|
128
|
-
bun src/entrypoints/cli.tsx ide diff schema
|
|
129
|
-
```
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
# UR-AGENT 1.16.0 Upgrade Notes
|
|
2
|
-
|
|
3
|
-
UR 1.16.0 adds local-network Ollama discovery. The agent can now find Ollama
|
|
4
|
-
servers on your LAN, let you pick one at startup, and remember the choice for
|
|
5
|
-
future sessions. The endpoint is no longer hardcoded to `localhost:11434`; it
|
|
6
|
-
can be set via settings, environment, or a CLI flag.
|
|
7
|
-
|
|
8
|
-
## Network Ollama Discovery
|
|
9
|
-
|
|
10
|
-
### One-time discovery at startup
|
|
11
|
-
|
|
12
|
-
```sh
|
|
13
|
-
ur --discover-ollama
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
UR scans the active local subnets (wired Ethernet and Wi-Fi/WLAN) for hosts
|
|
17
|
-
listening on port `11434`, verifies each one by fetching `/api/tags`, then shows
|
|
18
|
-
a picker with:
|
|
19
|
-
|
|
20
|
-
- `This computer` — your local `ollama serve` at `http://localhost:11434`
|
|
21
|
-
- every discovered LAN host and the number of models it advertises
|
|
22
|
-
|
|
23
|
-
Select a host and UR uses it for that session only. The choice is **not**
|
|
24
|
-
persisted, so plain `ur` continues to use `localhost:11434`.
|
|
25
|
-
|
|
26
|
-
### Enable discovery on every startup
|
|
27
|
-
|
|
28
|
-
Add to `~/.ur/settings.json`:
|
|
29
|
-
|
|
30
|
-
```json
|
|
31
|
-
{
|
|
32
|
-
"ollama": {
|
|
33
|
-
"lanDiscovery": true
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
The picker appears on every startup. The choice is still session-only and is
|
|
39
|
-
not written to settings.
|
|
40
|
-
|
|
41
|
-
### Point to a specific host without scanning
|
|
42
|
-
|
|
43
|
-
```sh
|
|
44
|
-
ur --ollama-host http://192.168.1.50:11434
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
This is session-only and does not write settings. It takes precedence over
|
|
48
|
-
settings and `OLLAMA_HOST`.
|
|
49
|
-
|
|
50
|
-
### Persistent host via settings
|
|
51
|
-
|
|
52
|
-
```json
|
|
53
|
-
{
|
|
54
|
-
"ollama": {
|
|
55
|
-
"host": "http://192.168.1.50:11434"
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
When `ollama.host` is set, UR uses it automatically. Precedence is:
|
|
61
|
-
|
|
62
|
-
1. `--ollama-host <url>` CLI flag
|
|
63
|
-
2. `OLLAMA_HOST` environment variable
|
|
64
|
-
3. `ollama.host` in user settings
|
|
65
|
-
4. fallback `http://localhost:11434`
|
|
66
|
-
|
|
67
|
-
## What Uses the Chosen Host
|
|
68
|
-
|
|
69
|
-
The resolved host is used everywhere UR talks to Ollama:
|
|
70
|
-
|
|
71
|
-
- interactive chat requests (`/api/chat`)
|
|
72
|
-
- installed-model listing (`/api/tags`)
|
|
73
|
-
- model metadata refresh (`/api/show`)
|
|
74
|
-
- local embeddings (`/api/embed`)
|
|
75
|
-
- `ur model-doctor`
|
|
76
|
-
- `ur doctor` / `ur sysinfo`
|
|
77
|
-
- startup preflight connectivity check
|
|
78
|
-
|
|
79
|
-
## Security Notes
|
|
80
|
-
|
|
81
|
-
LAN scanning is opt-in only. It never runs automatically unless you pass
|
|
82
|
-
`--discover-ollama` or set `ollama.lanDiscovery: true`. The scan is limited to
|
|
83
|
-
active local IPv4 interfaces and ignores loopback and link-local addresses. It
|
|
84
|
-
uses bounded concurrency and short timeouts so it finishes in a few seconds on a
|
|
85
|
-
/24 subnet.
|
|
86
|
-
|
|
87
|
-
## Release Verification
|
|
88
|
-
|
|
89
|
-
Run these before publishing:
|
|
90
|
-
|
|
91
|
-
```sh
|
|
92
|
-
bun test test/ollamaDiscovery.test.ts test/ollamaModels.test.ts test/ollamaTimeout.test.ts
|
|
93
|
-
bun run typecheck
|
|
94
|
-
npm pack --dry-run
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
Optional local smoke checks:
|
|
98
|
-
|
|
99
|
-
```sh
|
|
100
|
-
bun src/entrypoints/cli.tsx --discover-ollama --help
|
|
101
|
-
bun src/entrypoints/cli.tsx --ollama-host http://localhost:11434 -p "hello"
|
|
102
|
-
```
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# UR-AGENT 1.17.0 Upgrade Notes
|
|
2
|
-
|
|
3
|
-
UR 1.17.0 adds the P0 reliable repo editing surface.
|
|
4
|
-
|
|
5
|
-
## Reliable Repo Editing
|
|
6
|
-
|
|
7
|
-
```sh
|
|
8
|
-
ur repo-edit index
|
|
9
|
-
ur repo-edit search checkoutTotal
|
|
10
|
-
ur repo-edit plan rename oldName --to newName
|
|
11
|
-
ur repo-edit preview rename oldName --to newName
|
|
12
|
-
ur repo-edit apply rename oldName --to newName --check "bun test"
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
`repo-edit` is designed for safer repository-wide code changes:
|
|
16
|
-
|
|
17
|
-
- Builds `.ur/repo-edit/index.json` with file metadata, tokens, and
|
|
18
|
-
JavaScript/TypeScript symbols.
|
|
19
|
-
- Searches paths, indexed tokens, content lines, and symbols.
|
|
20
|
-
- Plans JavaScript/TypeScript identifier renames from AST nodes instead of
|
|
21
|
-
replacing arbitrary text.
|
|
22
|
-
- Prints a unified patch preview before writing.
|
|
23
|
-
- Applies all files transactionally and rolls back touched files if syntax
|
|
24
|
-
validation or an optional check command fails.
|
|
25
|
-
|
|
26
|
-
## Validation
|
|
27
|
-
|
|
28
|
-
```sh
|
|
29
|
-
bun test test/repoEdit.test.ts
|
|
30
|
-
bun run typecheck
|
|
31
|
-
node ./bin/ur.js repo-edit --help
|
|
32
|
-
```
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# UR-AGENT 1.18.0 Upgrade Notes
|
|
2
|
-
|
|
3
|
-
UR 1.18.0 adds the P0 test-first execution loop.
|
|
4
|
-
|
|
5
|
-
## New Command
|
|
6
|
-
|
|
7
|
-
```sh
|
|
8
|
-
ur test-first detect
|
|
9
|
-
ur test-first --dry-run
|
|
10
|
-
ur test-first --max-attempts 3
|
|
11
|
-
ur test-first install
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
`test-first` is designed for command-evidence-driven repo work:
|
|
15
|
-
|
|
16
|
-
- Detects project languages, package managers, and quality commands from the
|
|
17
|
-
existing project files.
|
|
18
|
-
- Orders detected commands as compile, test, then lint.
|
|
19
|
-
- Runs the command set and reports `passed` only when the commands exit 0.
|
|
20
|
-
- On failure, stores a trace under `.ur/test-first/traces/` with the command,
|
|
21
|
-
phase, exit code, stdout, and stderr.
|
|
22
|
-
- Invokes a bounded fix agent between failed attempts.
|
|
23
|
-
- Installs detected commands into `.ur/verify.json` with `ur test-first install`
|
|
24
|
-
so the existing verifier can run them after future edits.
|
|
25
|
-
|
|
26
|
-
Aliases:
|
|
27
|
-
|
|
28
|
-
```sh
|
|
29
|
-
ur quality-loop --dry-run
|
|
30
|
-
ur tf-loop detect
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Verification
|
|
34
|
-
|
|
35
|
-
```sh
|
|
36
|
-
bun run typecheck
|
|
37
|
-
bun run lint
|
|
38
|
-
bun test test/testFirstLoop.test.ts
|
|
39
|
-
node ./bin/ur.js test-first --help
|
|
40
|
-
node ./bin/ur.js test-first detect
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
If an external project has no lint script, `test-first` reports lint as a
|
|
44
|
-
missing phase instead of inventing a command. UR itself now exposes
|
|
45
|
-
`bun run lint`, so local quality detection includes compile, test, and lint.
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# UR-AGENT 1.19.0 Upgrade Notes
|
|
2
|
-
|
|
3
|
-
UR 1.19.0 adds two P0 agent reliability surfaces: project safety policy and
|
|
4
|
-
project context packing.
|
|
5
|
-
|
|
6
|
-
## What Changed
|
|
7
|
-
|
|
8
|
-
- `ur safety status|init|check` evaluates shell command risk before execution.
|
|
9
|
-
- Bash permission checks consult the project safety policy before broad allow
|
|
10
|
-
rules and sandbox auto-allow.
|
|
11
|
-
- The safety policy separates read, write, execute, and network permission
|
|
12
|
-
classes.
|
|
13
|
-
- Destructive commands require approval.
|
|
14
|
-
- Write, execute, and network operations receive sandbox guidance.
|
|
15
|
-
- Common secret-file and secret-like environment exfiltration paths are denied.
|
|
16
|
-
- `ur context-pack scan|remember|compress` writes a manifest-backed repository
|
|
17
|
-
architecture summary and durable task memory.
|
|
18
|
-
|
|
19
|
-
## New Project Files
|
|
20
|
-
|
|
21
|
-
- `.ur/safety-policy.json` from `ur safety init`
|
|
22
|
-
- `.ur/project-manifest.json` from `ur context-pack scan`
|
|
23
|
-
- `.ur/context/architecture.md`
|
|
24
|
-
- `.ur/context/task-memory.jsonl`
|
|
25
|
-
- `.ur/context/compressed.md`
|
|
26
|
-
|
|
27
|
-
Commit only shared policy and architecture files that are safe for teammates.
|
|
28
|
-
Keep local task memory private when it contains local decisions, file paths, or
|
|
29
|
-
operational notes that should not be shared.
|
|
30
|
-
|
|
31
|
-
## Validate
|
|
32
|
-
|
|
33
|
-
```sh
|
|
34
|
-
ur safety status
|
|
35
|
-
ur safety check --command "rm -rf build"
|
|
36
|
-
ur context-pack scan
|
|
37
|
-
ur context-pack remember --decision "Use manifest commands first"
|
|
38
|
-
ur context-pack compress
|
|
39
|
-
bun run typecheck
|
|
40
|
-
bun test
|
|
41
|
-
```
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# UR-AGENT 1.20.0 Upgrade Notes
|
|
2
|
-
|
|
3
|
-
UR 1.20.0 adds IDE integration and a richer tool surface for agent workflows.
|
|
4
|
-
|
|
5
|
-
## What Changed
|
|
6
|
-
|
|
7
|
-
- **ACP server** — `ur acp serve|stop|status` exposes an HTTP+JSON-RPC Agent
|
|
8
|
-
Communication Protocol server for VS Code/Cursor/Zed-like editors. It lists
|
|
9
|
-
tools, calls tools, sends tasks, and reports status. Existing A2A and MCP
|
|
10
|
-
support remains unchanged.
|
|
11
|
-
- **`ur exec`** — run one or more prompts in non-interactive mode with optional
|
|
12
|
-
concurrency, worktrees, and output capture.
|
|
13
|
-
- **New built-in tools** exposed through the agent loop, MCP server, and ACP
|
|
14
|
-
server:
|
|
15
|
-
- `GitHub` — PR/issue/repo operations via the `gh` CLI.
|
|
16
|
-
- `Api` — REST HTTP calls with JSON/text output and path extraction.
|
|
17
|
-
- `Browser` — headless browser automation (fetch/goto/click/type/evaluate/
|
|
18
|
-
screenshot); interactive actions require `UR_BROWSER_TOOL=1`.
|
|
19
|
-
- `Docker` — container and compose operations via the `docker` CLI.
|
|
20
|
-
- `TestRunner` — auto-detect and run project tests.
|
|
21
|
-
- `Database` — SQL queries against SQLite, Postgres, MySQL, and DuckDB.
|
|
22
|
-
- File-system and terminal tools (`FileRead`, `FileEdit`, `FileWrite`, `Glob`,
|
|
23
|
-
`Grep`, `Bash`, `PowerShell`) remain built in and are now also reachable via
|
|
24
|
-
ACP/MCP.
|
|
25
|
-
|
|
26
|
-
## New Commands
|
|
27
|
-
|
|
28
|
-
```sh
|
|
29
|
-
ur acp serve --host 127.0.0.1 --port 8123
|
|
30
|
-
ur acp status --json
|
|
31
|
-
ur exec "refactor the parser" --concurrency 2 --json
|
|
32
|
-
ur exec --file prompts.jsonl --output-dir ./outputs
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Validate
|
|
36
|
-
|
|
37
|
-
```sh
|
|
38
|
-
ur acp status
|
|
39
|
-
ur exec --dry-run "add tests"
|
|
40
|
-
bun run typecheck
|
|
41
|
-
bun test
|
|
42
|
-
```
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# Upgrading to UR-AGENT v1.21.0
|
|
2
|
-
|
|
3
|
-
## What's new
|
|
4
|
-
|
|
5
|
-
v1.21.0 adds a set of worktree-first agent skills and a command to manage the worktrees they create.
|
|
6
|
-
|
|
7
|
-
- **Agent skill runner** — `src/services/agents/agentSkillRunner.ts` wraps
|
|
8
|
-
`startBackgroundTask({ worktree: true, pr: true })`, polls the background run to
|
|
9
|
-
completion, and returns a PR-style summary with branch, commits, PR URL, and
|
|
10
|
-
diff summary.
|
|
11
|
-
- **New bundled slash skills** — each skill expands into a prompt that instructs
|
|
12
|
-
the model to work in an isolated git worktree and produce a clean branch,
|
|
13
|
-
commits, and PR:
|
|
14
|
-
- `/debug-v2` — reproduce, root-cause, and fix a bug with a regression test
|
|
15
|
-
- `/refactor` — safe, test-backed refactoring
|
|
16
|
-
- `/paper-implementation` — implement an algorithm or system from a paper/URL
|
|
17
|
-
- `/benchmark` — add or run benchmarks and commit results
|
|
18
|
-
- `/security-review` — audit code for security issues, fix low-risk items
|
|
19
|
-
- `/dockerize` — add Dockerfile, compose file, health checks, `.dockerignore`
|
|
20
|
-
- `/latex-paper` — generate or compile a LaTeX paper/report
|
|
21
|
-
- **Matching agent templates** — `debug-v2`, `refactor`, `paper-implementation`,
|
|
22
|
-
`benchmark`, `security-review`, `dockerize`, and `latex-paper` are now part of
|
|
23
|
-
`AGENT_TEMPLATES`. Install them with `ur agent-templates install`.
|
|
24
|
-
- **`ur worktree`** — `ur worktree list|status|clean` inspects and cleans up UR
|
|
25
|
-
agent worktrees.
|
|
26
|
-
|
|
27
|
-
## Quick examples
|
|
28
|
-
|
|
29
|
-
```sh
|
|
30
|
-
# Run a bug-fix agent in an isolated worktree
|
|
31
|
-
ur -p /debug-v2 "parser crashes on empty input"
|
|
32
|
-
|
|
33
|
-
# Same through the CLI
|
|
34
|
-
ur bg run "reproduce and fix parser crash on empty input" --worktree --pr
|
|
35
|
-
|
|
36
|
-
# List active worktrees and clean up finished ones
|
|
37
|
-
ur worktree list
|
|
38
|
-
ur worktree clean --dry-run
|
|
39
|
-
ur worktree clean
|
|
40
|
-
|
|
41
|
-
# Install the new agent templates
|
|
42
|
-
ur agent-templates install debug-v2 refactor benchmark security-review dockerize latex-paper paper-implementation
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## For users of `/debug`
|
|
46
|
-
|
|
47
|
-
The existing `/debug` skill still reads the session debug log. `/debug-v2` is a
|
|
48
|
-
separate skill for bug-fix work in a worktree. You can keep using `/debug` for
|
|
49
|
-
diagnosing the current session and use `/debug-v2` (or `ur bg run ... --worktree
|
|
50
|
-
--pr`) when you want a branch + PR.
|
|
51
|
-
|
|
52
|
-
## Upgrade steps
|
|
53
|
-
|
|
54
|
-
1. Pull the release and run `bun install`.
|
|
55
|
-
2. Run `bun run typecheck` and `bun test` to confirm the local state.
|
|
56
|
-
3. Install agent templates if you want the new `.ur/agents/*.md` files:
|
|
57
|
-
`ur agent-templates install`.
|
|
58
|
-
4. No settings or project file migration is required.
|
|
@@ -1,48 +0,0 @@
|
|
|
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.
|