ur-agent 1.14.0 → 1.15.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.
@@ -21,6 +21,11 @@ ur automation run nightly --dry-run
21
21
  ur automation run-due
22
22
  ur model-doctor
23
23
  ur a2a serve --dry-run
24
+ ur bg run "fix the flaky parser test" --worktree --dry-run
25
+ ur memory retention show
26
+ ur code-index watch --dry-run
27
+ ur ide diff capture --title "Working tree review"
28
+ ur eval bench list
24
29
  ur semantic-memory build
25
30
  ur semantic-memory search "release checks"
26
31
  ur claim-ledger add --claim "..." --source web:https://example.com
@@ -29,6 +34,21 @@ ur browser-qa validate
29
34
  ur browser-qa run home-page-smoke --dry-run
30
35
  ```
31
36
 
37
+ ## v1.15.0 Additions
38
+
39
+ Seven additions from the 2026 agent-platform gap list. They keep UR local-first
40
+ and route model work through the local Ollama-backed UR runtime.
41
+
42
+ | Addition | Surface | What it adds |
43
+ | --- | --- | --- |
44
+ | Managed background agents | `ur bg run|fanout|list|status|logs|attach|kill` | Detached, durable local agent runs with optional worktrees and opt-in PR creation through `gh` |
45
+ | Auto compaction and memory retention | `compaction.autoThreshold`, `ur memory retention` | Configurable context compaction threshold plus TTL/max/decay pruning for `.ur/memory/*.jsonl` |
46
+ | Code-index auto-reindex | `codeIndex.autoReindex`, `ur code-index watch` | File watcher that rebuilds the local semantic code index after source changes |
47
+ | Live artifact steering | `ur artifacts comment <id> --feedback ... --task <bg_id>` | Artifact feedback is queued into the linked background task inbox and injected into active stream-json background agents as `priority: "now"` turns |
48
+ | Full opt-in A2A task server | `ur a2a serve`, `/a2a/tasks` lifecycle routes | Token/delegation-protected task submission, status, output, and cancel routes backed by local background tasks |
49
+ | IDE inline diff bundles | `ur ide diff capture|list|show|comment|schema`, `extensions/vscode-ur-inline-diffs/` | Editor-readable `.ur/ide/diffs/` manifest, metadata, patch files, comments, plus a native VS Code tree/webview review extension |
50
+ | Benchmark adapters | `ur eval bench swe-bench|terminal-bench|aider-polyglot` | Imports local benchmark JSON/JSONL exports into UR eval suites without external downloads |
51
+
32
52
  ## Nine Points
33
53
 
34
54
  | Point | UR surface | What it adds |
@@ -16,11 +16,17 @@ ur agent-templates install
16
16
  ur model-doctor
17
17
  ur automation create nightly --schedule "0 9 * * 1-5" --prompt "Review open tasks"
18
18
  ur automation run-due
19
+ ur bg run "fix the flaky parser test" --worktree --dry-run
20
+ ur bg fanout "try two parser fixes" --agents 2 --dry-run
19
21
  ur agent-task pr --create --dry-run
20
22
  ur a2a serve --dry-run
21
23
  ur semantic-memory build
24
+ ur memory retention show
22
25
  ur code-index build
26
+ ur code-index watch --dry-run
23
27
  ur code-index search "where is the rate limiter configured"
28
+ ur ide diff capture --title "Working tree review"
29
+ ur eval bench list
24
30
  ur role-mode install all
25
31
  ur agent-task pr --create --dry-run # runs the self-review gate first
26
32
  ur spec init checkout --goal "1. add cart 2. add payment 3. add receipt"
@@ -48,23 +54,24 @@ Inside an interactive session:
48
54
  | --- | --- | --- | --- |
49
55
  | Local-first model runtime | Covered | local Ollama app endpoint, local and Ollama Cloud-backed models exposed through that app, model auto-routing | Add model capability reporting for tools, vision, context length, and multimodal readiness |
50
56
  | MCP tool ecosystem | Covered | `ur mcp`, MCP OAuth/XAA helpers, elicitation, permission checks, shared tool registry | Keep MCP registry/security guidance current as the spec evolves |
51
- | A2A / Agent Card interoperability | Adapter-ready | `ur a2a card` and `/a2a-card` export Agent Card metadata | Add an opt-in A2A task server adapter for remote agent-to-agent task execution |
52
- | Durable workflows and checkpoints | Partial | resume, rewind, background tasks, cron/workflow internals, file restore | Publish a checkpointed workflow format for repeated automations |
57
+ | A2A / Agent Card interoperability | Covered | `ur a2a card`, `/a2a-card`, and opt-in `ur a2a serve` with task lifecycle routes and bearer/delegation auth | Track A2A spec changes and keep the server disabled unless explicitly started |
58
+ | Durable workflows and checkpoints | Covered | resume, rewind, `ur bg` background runs, optional worktrees/PRs, cron/workflow internals, file restore | Publish a checkpointed workflow format for repeated automations |
53
59
  | Multi-agent orchestration | Covered | built-in planning, exploration, verification, and general-purpose agents; custom agents | Document reusable team patterns and role selection |
54
- | Long-term memory | Partial | `/remember`, `/forget`, `.ur/memory`, research notes, team memory, consolidation | Add optional local semantic/vector memory with retention controls |
55
- | Semantic codebase retrieval | Covered | local embedding-based code index (`ur code-index`), opt-in `CodeSearch` tool, incremental re-index, Ollama embeddings | Add a file-watcher for auto-reindex on change |
60
+ | Long-term memory | Covered | `/remember`, `/forget`, `.ur/memory`, semantic memory, research notes, team memory, consolidation, `ur memory retention` | Tune retention defaults from real long-run telemetry |
61
+ | Semantic codebase retrieval | Covered | local embedding-based code index (`ur code-index`), opt-in `CodeSearch` tool, incremental re-index, auto-reindex watcher, Ollama embeddings | Add richer symbol-aware ranking |
56
62
  | AGENTS.md interoperability | Covered | `AGENTS.md` loaded as runtime project context (before `UR.md`), plus imported at `ur init` | Keep aligned as the AGENTS.md spec evolves |
57
63
  | Browser and computer-use workflows | Covered | `/browser`, `/chrome`, Playwright-aware tasks, WebSearch, WebFetch, risky-action approval | Add more release fixtures with screenshots and replay assertions |
58
64
  | Provenance and citations | Partial | WebFetch source URLs, `/cite`, `/graph`, `/trace`, evidence ledgers | Add claim-to-source mapping for web/MCP answers |
59
- | Evals and observability | Partial | verifier gates, `.ur/verify.json`, `/verify`, `/trace`, OpenTelemetry hooks, release checks | Publish replayable eval suites and dashboards |
65
+ | Evals and observability | Covered | verifier gates, `.ur/verify.json`, `/verify`, `/trace`, OpenTelemetry hooks, release checks, eval dashboard, benchmark adapters | Publish benchmark numbers from local reproducible suites |
60
66
  | Security and prompt-injection resistance | Covered | allow/ask/deny permissions, shell safety analysis, secret scan, untrusted web-content guidance, OS-level execution sandbox (macOS Seatbelt, Linux bubblewrap) | Continuously test web/MCP injection cases |
61
- | Agent identity and delegated authorization | Partial | MCP OAuth/XAA helpers, local trust boundaries, permission rules | Add portable cross-agent identity only with an opt-in A2A task adapter |
67
+ | Agent identity and delegated authorization | Covered | MCP OAuth/XAA helpers, A2A bearer/delegation tokens, local trust boundaries, permission rules | Keep delegated scopes narrow and auditable |
62
68
  | Multimodal workflows | Partial | `/image`, `/video`, `/youtube`, `/voice`, browser workflows | Add model-aware multimodal capability reporting for local Ollama setups |
63
69
  | Spec-driven development | Covered | `ur spec` scaffolds requirements/design/tasks under `.ur/specs/`, tracks phase/approvals, and runs the Spec Kit / Kiro task list one task at a time | Add bidirectional sync with an external `specs/` directory |
64
70
  | Capability-aware model escalation | Covered | `ur escalate` selects fast/oracle tiers from `model-doctor`, runs routine work fast, and auto-escalates hard/failed work to the strong local model | Learn per-model success rates to tune the difficulty threshold |
65
71
  | Best-of-N agent judging | Covered | `ur arena` runs N agents per task in isolated worktrees and judges diffs with the self-review gate; winner is selectable/appliable | Add an optional model judge alongside the deterministic scorer |
66
72
  | Self-healing CI | Covered | `ur ci-loop` runs a command, summarizes failures, invokes a fix agent, and re-runs with bounded retries; commits/pushes are self-review gated | Wire to `ur trigger` so a failed CI webhook auto-launches the loop |
67
- | Verifiable artifacts | Covered | `ur artifacts` records plans/diffs/test-runs with approve/reject/feedback under `.ur/artifacts/` | Attach browser-QA screenshots and link artifacts to claim-ledger entries |
73
+ | Verifiable artifacts | Covered | `ur artifacts` records plans/diffs/test-runs with approve/reject/feedback under `.ur/artifacts/`; comments steer active background agents through stream-json inbox injection | Attach browser-QA screenshots and link artifacts to claim-ledger entries |
74
+ | Native IDE review | Covered | `ur ide diff` writes `.ur/ide/diffs/` bundles and `extensions/vscode-ur-inline-diffs/` provides a VS Code tree/webview/comment surface | Add JetBrains packaging if demand appears |
68
75
 
69
76
  ## v1.13.9 Direct CLI Surfaces
70
77
 
@@ -83,13 +90,11 @@ ur artifacts capture-tests --command "bun test"
83
90
 
84
91
  ## A2A Position
85
92
 
86
- UR now exports an Agent Card so other tools can discover what UR is and what it
87
- can do. That is intentionally different from running a network-facing task
88
- server. A full A2A task endpoint should be opt-in because it changes UR from a
89
- local CLI into a service that accepts remote work.
90
-
91
- The current card is discovery metadata. It describes UR's local-first boundary,
92
- supported skill areas, input/output modes, and provider metadata.
93
+ UR exports an Agent Card so other tools can discover what UR is and what it can
94
+ do. `ur a2a serve` is the opt-in task server: it exposes health, Agent Card,
95
+ task submission, task listing, task status, output, and cancellation routes. It
96
+ refuses off-loopback binds unless bearer or delegation authentication is
97
+ configured, and task execution stays backed by local UR background tasks.
93
98
 
94
99
  ## Model Runtime Position
95
100
 
@@ -0,0 +1,129 @@
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
+ ```