ur-agent 1.78.14 → 1.79.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.
@@ -9,6 +9,21 @@ reproducible autonomous software engineering agent: every substantial task can
9
9
  be driven as `spec -> plan -> patch -> test -> report -> rollback`, with the
10
10
  spec as the durable source of truth and command evidence as the success gate.
11
11
 
12
+ ## v1.79.1 Addition
13
+
14
+ | Addition | Surface | What it adds |
15
+ | --- | --- | --- |
16
+ | Self-healing Bash task output | `src/utils/Shell.ts`, `src/utils/permissions/filesystem.ts`, `test/shellExecutionIntegration.test.ts` | Uses the platform temp directory instead of assuming `/tmp`, aligns sandbox and permission roots, re-ensures temporary output storage for every launch, and atomically retries stdout/stderr creation after external directory cleanup so Bash recovers without restarting UR. |
17
+
18
+ ## v1.79.0 Additions
19
+
20
+ | Addition | Surface | What it adds |
21
+ | --- | --- | --- |
22
+ | Cross-catalog plugin discovery | `ur plugin search\|show`, `src/utils/plugins/pluginDiscovery.ts` | Deterministic ranked discovery across managed, personal, workspace, implicit, built-in, session, and installed catalogs with source/scope provenance, capability/status filters, secret redaction, graceful catalog degradation, and JSON output. |
23
+ | Evidence-backed deep research | `ur research init\|source\|finding\|question\|verify\|report`, `/research-pro`, `.ur/research/projects/` | Atomic source-backed projects, sanitized URLs, cited/contested/open findings, independent-publisher checks for high confidence, durable open questions, SHA-256 state digests, workspace-confined Markdown reports, and a primary-source research workflow. |
24
+ | Compiler/graph change impact | `ur repo-edit impact`, `src/services/repoEditing/changeImpact.ts` | Combines compiler-resolved callers, import-graph dependents, definitions, focused tests, related docs/config, risk reasons, and detected package verification commands before editing. Imported aliases resolve correctly and read-only AST results retain exact references. |
25
+ | Professional 3D and DCC/CAD automation | `ur design3d`, `/dcc-design`, `src/services/design3d/design3d.ts` | Parametric Blender Python, OpenSCAD, and 3ds Max MAXScript scaffolds; discovery for Maya, FreeCAD, Houdini, Cinema 4D, Rhino, and Khronos validation; shell-free reviewed custom adapters; bounded build execution; workspace confinement; and GLB/glTF/STL/OBJ/BLEND/MAX inspection. |
26
+
12
27
  ## v1.49.0 Additions
13
28
 
14
29
  - Signed A2A Agent Cards. An Agent Card is discovery metadata served over plain
@@ -245,7 +260,7 @@ automatically changes the active provider.
245
260
 
246
261
  | Addition | Surface | What it adds |
247
262
  | --- | --- | --- |
248
- | Plugin marketplace capability surfaces | `.ur-plugin/marketplace.json`, `src/utils/plugins/schemas.ts`, `plugins/core/engineering-discipline/` | Marketplace entries can advertise MCP tools, executable skills, templates, validators, language adapters, LSP servers, hooks, agents, and commands. The `engineering-discipline` reference plugin ships a command, reproducible-release skill, release-verifier template, release-gate validator, and Markdown adapter metadata. |
263
+ | Plugin marketplace capability surfaces | `.ur-plugin/marketplace.json`, `src/utils/plugins/schemas.ts`, `src/utils/plugins/pluginDiscovery.ts`, `plugins/core/engineering-discipline/` | Marketplace entries can advertise MCP tools, executable skills, templates, validators, language adapters, LSP servers, hooks, agents, and commands. `ur plugin search/show` adds deterministic cross-catalog discovery, scope/source provenance, installed/enabled state, capability filters, JSON output, and graceful per-catalog failure reporting. The `engineering-discipline` reference plugin demonstrates the extension contract. |
249
264
  | Autonomous engineering workflow identity | `README.md`, `documentation/`, `plugins/core/engineering-discipline/skills/reproducible-release` | Positions UR as an autonomous engineering workflow engine: plan, execute, test, verify, document, benchmark, and reproduce, with command evidence and rollback discipline as the product promise. |
250
265
  | Release readiness guard | `.github/workflows/test.yml`, `test/releaseReadiness.test.ts` | Asserts production bundle, release, package, and global-install checks run only after the Bun test step succeeds in GitHub CI. |
251
266
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  UR is a provider-flexible, local-first terminal coding agent. This page tracks
4
4
  how UR maps to current agent-platform trends and where future work should go
5
- next. The factual comparison below is a **2026-07-26 research snapshot**; run
5
+ next. The factual comparison below is a **2026-08-10 research snapshot**; run
6
6
  `ur agent-trends` for the versioned machine-readable report and re-check the
7
7
  linked primary sources before acting on prerelease standards.
8
8
 
@@ -17,6 +17,9 @@ ur ag-ui serve --help
17
17
  ur agent-features
18
18
  ur agent-features init
19
19
  ur agent-templates install
20
+ ur plugin search git
21
+ ur plugin search --capability skills --json
22
+ ur plugin show github@ur-plugins-official
20
23
  ur model-doctor
21
24
  ur automation create nightly --schedule "0 9 * * 1-5" --prompt "Review open tasks"
22
25
  ur automation run-due
@@ -26,6 +29,12 @@ ur repo-edit index
26
29
  ur repo-edit search checkoutTotal
27
30
  ur repo-edit preview rename oldName --to newName
28
31
  ur repo-edit apply rename oldName --to newName --check "bun test"
32
+ ur repo-edit impact checkoutTotal --depth 5
33
+ ur research init agent-landscape --question "What capabilities shipped recently?"
34
+ ur research verify agent-landscape
35
+ ur design3d doctor
36
+ ur design3d init studio-scene --engine 3dsmax --units cm --format max
37
+ ur design3d build design3d/studio-scene --dry-run
29
38
  ur agent-task pr --create --dry-run
30
39
  ur a2a serve --dry-run
31
40
  ur semantic-memory build
@@ -84,6 +93,10 @@ Inside an interactive session:
84
93
  | Multi-agent orchestration | Covered | built-in planning, exploration, verification, and general-purpose agents; custom agents | Document reusable team patterns and role selection |
85
94
  | Long-term memory | Partial | Existing retrieval plus a provenance-rich SHA-256 task-memory chain, file/run/user/web citations, freshness resolution, private atomic writes, quarantine, and rollback | Extend citation/deletion/integrity guarantees to semantic, embedding, and legacy stores |
86
95
  | Portable Agent Skills | Covered | Native and `.agents/skills/` project/user discovery, strict validation, deterministic tree/permission digests, Ed25519 signing, trusted keys, and invocation-time integrity checks | Require registry attestations and dependency review before community one-command installation |
96
+ | Cross-catalog plugin discovery | Covered | `ur plugin search/show` searches managed, personal, workspace, implicit, built-in, session, and installed-only sources with deterministic relevance, provenance, capability/status filters, bounded output, secret-redacted sources, graceful catalog failures, and JSON automation | Add signed registry attestations and explicit remote-catalog freshness metadata before recommending unattended installation |
97
+ | Evidence-backed deep research | Covered | `ur research` persists sanitized sources, cited supported/contested/open findings, unresolved questions, independent corroboration warnings, SHA-256 project digests, and workspace-confined Markdown reports; `/research-pro` directs primary-source and disconfirming-evidence collection | Add authenticated source-refresh timestamps and optional archival snapshots without duplicating third-party content by default |
98
+ | Compiler/graph change-impact planning | Covered | `ur repo-edit impact` combines TypeScript compiler references, imported-alias resolution, direct/transitive import dependents, definitions, tests, docs, config, risk reasons, and detected verification commands | Extend exact binding-aware impact to installed LSP languages beyond JavaScript/TypeScript |
99
+ | Professional 3D and DCC/CAD workflows | Covered | `ur design3d` scaffolds and automates Blender, OpenSCAD, and Autodesk 3ds Max; discovers Maya, FreeCAD, Houdini, Cinema 4D, and Rhino; gates shell-free custom adapters; inspects common assets; and invokes Khronos glTF validation when available | Add native headless validators per optional DCC adapter and rendered visual-regression fixtures without pretending structural checks are visual review |
87
100
  | 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 |
88
101
  | Reliable repo editing | Covered | `ur repo-edit` builds a file/symbol index, performs AST-aware JS/TS identifier rename planning, previews patches before writing, and applies multi-file edits transactionally with rollback on syntax or check failure | Extend AST edits beyond identifier rename into import moves and signature-aware refactors |
89
102
  | Permission and safety policy | Covered | `ur safety`, `.ur/safety-policy.json`, pre-Bash safety evaluation, read/write/execute/network command classes, destructive-command approval, sandbox recommendations, and secret exfiltration denial | Record sandbox attestation in every risky command's evidence trail |
@@ -196,6 +209,13 @@ Professional answer requirements:
196
209
 
197
210
  ## References
198
211
 
212
+ - OpenAI ChatGPT and Codex changelog (Agent Plugin catalogs and search): https://developers.openai.com/codex/changelog
213
+ - Gemini CLI release notes (tool-registry discovery): https://github.com/google-gemini/gemini-cli/blob/main/docs/changelogs/index.md
214
+ - TypeScript Project References and compiler structure: https://www.typescriptlang.org/docs/handbook/project-references
215
+ - Blender command-line arguments: https://docs.blender.org/manual/en/latest/advanced/command_line/arguments.html
216
+ - OpenSCAD command-line environment: https://files.openscad.org/documentation/manual/Using_OpenSCAD_in_a_command_line_environment.html
217
+ - Autodesk 3ds Max command-line MAXScript: https://help.autodesk.com/cloudhelp/2024/ENU/MAXScript-Help/files/MAXScript-Introduction/General-MAXScript-Topics/GUID-A04C0E75-F82A-41AC-92E8-D7CB1D797430.html
218
+ - Khronos glTF 2.0 specification and validator: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html and https://github.com/KhronosGroup/glTF-Validator
199
219
  - OpenAI Responses background mode: https://developers.openai.com/api/docs/guides/background
200
220
  - OpenAI Responses WebSocket mode: https://developers.openai.com/api/docs/guides/websocket-mode
201
221
  - OpenAI Responses compaction: https://developers.openai.com/api/docs/guides/compaction
@@ -540,17 +540,40 @@ runtime, and output controls use the `UR_AG_UI_*` prefix. Unsupported client
540
540
  tools, multimodal/encrypted input, interrupts, and unimplemented transports are
541
541
  rejected rather than silently ignored. See the [AG-UI Guide](AG_UI.md).
542
542
 
543
+ ## Research and 3D Project State
544
+
545
+ `ur research` stores private, atomic project ledgers under
546
+ `.ur/research/projects/<id>.json`. Source URLs are restricted to HTTP(S),
547
+ embedded credentials and common secret query parameters are removed, input
548
+ sizes/counts are bounded, and `report --out` may write only inside the current
549
+ workspace. High-confidence supported findings warn unless they cite two
550
+ independent publishers.
551
+
552
+ `ur design3d init` writes reviewable source plus `design3d.json` under
553
+ `design3d/<name>/`. Source and output paths are confined to that project.
554
+ Blender, OpenSCAD, and 3ds Max use fixed native argv; custom DCC/CAD adapters
555
+ receive separate argv values, never a shell string, and require
556
+ `--allow-custom` after a dry-run review. Builds are time/output bounded and
557
+ refuse to replace existing output without `--force`.
558
+
543
559
  ## Plugins and Skills
544
560
 
545
561
  Plugins can add commands, tools, and skills:
546
562
 
547
563
  ```sh
548
564
  ur plugin list
565
+ ur plugin search [query] [--capability <name>] [--marketplace <name>] [--installed] [--json]
566
+ ur plugin show <name-or-name@marketplace> [--json]
549
567
  ur plugin install <plugin>
550
568
  ur plugin update <plugin>
551
569
  ur plugin disable <plugin>
552
570
  ```
553
571
 
572
+ Search reads all configured catalogs with graceful per-catalog failure handling,
573
+ uses deterministic relevance ranking, and labels each result with catalog scope,
574
+ source kind, capabilities, and installed/enabled state. It does not install,
575
+ update, or enable anything.
576
+
554
577
  Skills can be stored in `.ur/skills/` for project-specific workflows or in
555
578
  `~/.ur/skills/` for personal workflows. UR also discovers the cross-client
556
579
  `.agents/skills/` and `~/.agents/skills/` locations from the Agent Skills
@@ -0,0 +1,180 @@
1
+ # UR Gap Analysis — 2026-08-11 Research Snapshot
2
+
3
+ Baseline: UR `ur-agent@1.79.1`, HEAD `6faed11`, 186 slash commands, 60 tools.
4
+ Upstream references: Claude Code 2.1.226 (2026-08-08), Codex CLI (Aug 2026),
5
+ Gemini CLI v0.53.0 (2026-07-28), MCP spec `2026-07-28`, A2A v1.0 (Apr 2026).
6
+
7
+ Every "missing" row below was verified absent by grep over `src/`, and every
8
+ "present" row by a concrete file reference. Re-check primary sources before
9
+ acting: prerelease standards move weekly.
10
+
11
+ ---
12
+
13
+ ## 1. Already at parity — no action
14
+
15
+ UR is closer to the frontier than the trend doc implies. Confirmed present:
16
+
17
+ | Upstream feature | UR implementation |
18
+ |---|---|
19
+ | MCP `2026-07-28` stateless core | `src/services/mcp/mcp2026.ts` (`MCP_2026_PROTOCOL_VERSION = '2026-07-28'`) |
20
+ | MCP Tasks extension (`tasks/get`, `tasks/update`, `tasks/cancel`) | `src/entrypoints/mcp2026.ts`, `src/services/mcp/mcp2026.ts` |
21
+ | MCP Apps (sandboxed HTML UI) | `ui/initialize`, `ui/resourceUri` in `mcp2026.ts` |
22
+ | MCP Extensions namespacing | `io.modelcontextprotocol/protocolVersion` header + `_meta` cross-check |
23
+ | A2A v1.0 signed Agent Cards | `src/services/agents/a2aCardSignature.ts` (Ed25519 detached JWS), `a2aV1.ts` |
24
+ | ACP / AG-UI servers | `src/services/agents/acpServer.ts`, `agUi.ts` |
25
+ | Cross-session agent messaging | `SendMessageTool`, `ListPeersTool` |
26
+ | Nested subagents with depth/concurrency caps | `src/tools/AgentTool/fanOutLimits.ts`, `fanOutSettings.ts` |
27
+ | Self-hosted runner | `src/self-hosted-runner/main.js`, gated by `feature('SELF_HOSTED_RUNNER')` |
28
+ | `--teleport`-style local continuation | `src/main.tsx`, `src/assistant/sessionHistory.ts` |
29
+ | `AGENTS.md` interop | `src/utils/agentmd.ts`, `memoryFileDetection.ts` |
30
+ | OpenTelemetry instrumentation | `src/utils/telemetry/instrumentation.ts` |
31
+ | Headless spend cap | `--max-budget-usd` in `src/main.tsx` |
32
+ | Plugin marketplace + search/show | `ur plugin search|show` (1.79.0) |
33
+ | Codex `/plan`, `/goal`, `/fork`, `/diff`, `/review` equivalents | `src/commands/{plan,goal,diff,review}` |
34
+
35
+ Notable divergence, deliberate or not: Anthropic **removed** `ultraplan` in
36
+ Claude Code 2.1.222 (2026-08-04). UR still ships `/ultraplan`. Worth deciding
37
+ whether that is a differentiator or dead weight.
38
+
39
+ ---
40
+
41
+ ## 2. Missing — ranked by value
42
+
43
+ ### P0 — security correctness
44
+
45
+ **1. Sandbox credential masking / TLS-terminating egress proxy.**
46
+ Claude Code 2.1.221–2.1.224 added `sandbox.credentials` masking with
47
+ `mode: "mask"` sentinel files, `extract` regex spans, `decode: "jwt"` +
48
+ `maskClaims`, and `awsPairs`/`sigv4` re-signing behind `network.tlsTerminate`.
49
+ UR's sandbox is filesystem-scope only — `src/utils/sandbox/sandboxProfile.ts`
50
+ implements `denyRead`/`denyWrite` and nothing else. A sandboxed Bash command in
51
+ UR that can read `~/.aws/credentials` exfiltrates the real secret.
52
+ *Likely same bug present:* upstream patched a trailing-slash bypass where
53
+ `denyRead: "~/.aws/"` was silently ignorable. UR's `normalizedPaths()`
54
+ (`sandboxProfile.ts:51`) dedupes and calls `normalizePath()` but performs no
55
+ trailing-slash stripping of its own — verify `normalizePath` handles it, and add
56
+ a regression test for both `~/.aws` and `~/.aws/`.
57
+
58
+ **2. `sandbox.network.strictAllowlist` (partial gap).** UR *does* have a network
59
+ allowlist — `sandbox.network.allowedDomains`, `allowManagedDomainsOnly`,
60
+ `allowUnixSockets` in `src/utils/sandbox/sandbox-adapter.ts`. What's absent is
61
+ the strict mode: deny non-allowlisted hosts outright instead of prompting.
62
+ Under automation (`ur exec`, `ur bg`, agentic CI) a prompt is not an answer, so
63
+ today an unattended run either stalls or falls through. One settings key plus a
64
+ branch in the egress decision path.
65
+
66
+ **3. `Tool(param:value)` permission-rule syntax.** `permissionRuleParser.ts`
67
+ supports only `Tool(content)`. Upstream added input-parameter matching with
68
+ wildcards — e.g. `Agent(model:opus)` to block expensive subagents,
69
+ `Bash(timeout:*)`. Without it, policies cannot constrain *how* a tool is called,
70
+ only which paths it touches.
71
+
72
+ **4. Bash permission-check hardening.** Upstream shipped three separate bypass
73
+ fixes in Aug 2026: zsh hidden commands inside `[[ ]]` regex conditionals,
74
+ commands padded with tabs/invisible Unicode hiding text from the approval
75
+ dialog, and PowerShell paths containing quote characters. These are parser
76
+ classes, not one-off bugs — audit UR's command splitter against all three.
77
+
78
+ ### P1 — runaway-loop containment
79
+
80
+ **5. Per-session budgets, not just per-turn limits.** UR caps subagent depth and
81
+ concurrency but has no session totals. Upstream added a WebSearch cap
82
+ (default 200, `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`) and a subagent-spawn
83
+ cap, then *removed* the spawn cap once long sessions started failing — so ship
84
+ the search budget, and make the spawn budget advisory rather than fatal.
85
+
86
+ **6. `--forward-subagent-text` for stream-json.** UR has `--include-hook-events`
87
+ and `--include-partial-messages` but no way to surface subagent text/thinking in
88
+ headless output, including nested (depth-2+) agents keyed by spawning
89
+ `tool_use` id. This blocks CI observability of delegated work.
90
+
91
+ ### P2 — protocol currency
92
+
93
+ **7. MCP `InputRequiredResult`.** The `2026-07-28` spec deprecates
94
+ server-initiated elicitation and sampling in favor of `InputRequiredResult`.
95
+ UR implements the old `Elicitation`/`ElicitationResult` hooks (`src/types/hooks.ts`)
96
+ and has zero `InputRequired` references. Ship the new shape alongside the old.
97
+
98
+ **8. MCP `roots/list` + `notifications/roots/list_changed`.** Absent entirely.
99
+ Deprecated in `2026-07-28` (SEP-2577), but pre-2026 servers still expect it, and
100
+ upstream wires additional working directories into it. Low effort, moderate
101
+ compatibility win.
102
+
103
+ **9. A2A gaps.** Two items: (a) `src/services/agents/trends.ts:666` advertises
104
+ `protocolVersion: '0.3.0'` in the Agent Card while `a2aV1.ts` implements v1.0
105
+ signing — the card lies about its own version; (b) no gRPC transport and no AP2
106
+ payments extension, both part of the v1.0 surface.
107
+
108
+ ### P3 — accessibility and ergonomics
109
+
110
+ **10. Screen-reader mode.** Zero hits for `axScreenReader`/`--ax-screen-reader`.
111
+ Upstream shipped opt-in plain-text rendering plus per-keystroke and
112
+ per-deletion echo announcements. UR's Ink UI is unusable with a screen reader
113
+ today. This is the single largest addressable-user gap in the list.
114
+
115
+ **11. `/config key=value` from the prompt.** `src/commands/config/` exposes only
116
+ the interactive panel. Upstream's `/config thinking=false` works in interactive,
117
+ `-p`, and remote modes, with `/config --help` listing shorthand keys — the only
118
+ way to change a setting inside a headless run.
119
+
120
+ **12. `DirectoryAdded` hook.** UR has `CwdChanged` and `WorktreeCreate` but
121
+ fires nothing on `/add-dir`. Blocks per-directory setup automation.
122
+
123
+ **13. Explicit `ur session archive` / `unarchive`.** `archiveSession` exists only
124
+ in `src/bridge/`. Codex exposes `/archive` in the TUI and `codex archive` in the
125
+ CLI, with archived sessions protected from resume/fork. UR's session list grows
126
+ without bound.
127
+
128
+ **14. Vim insert-mode remaps.** `vimInsertModeRemaps` (e.g. `jj` → Escape) is a
129
+ one-setting change against UR's existing `src/vim/`.
130
+
131
+ **15. Telemetry completeness.** No `assistant_response` OTel log event, no
132
+ `message.uuid`/`client_request_id`/`tool_source` correlation attributes, no
133
+ `workflow.run_id`/`workflow.name`. UR has workflows and multi-agent runs but
134
+ cannot reconstruct a run from OTel data.
135
+
136
+ ---
137
+
138
+ ## 3. Explicitly not recommended
139
+
140
+ - **`EndConversation` tool.** Abuse-termination for a consumer chat product;
141
+ irrelevant to a local terminal agent the operator already controls.
142
+ - **Gateway spend-limit UX.** Presupposes Anthropic's managed gateway. UR's
143
+ `--max-budget-usd` covers the local equivalent.
144
+ - **`/dataviz` skill.** Content, not capability. Ship as a plugin if wanted.
145
+ - **Codex `--approve-for-me`.** Routes approvals through automated review —
146
+ directly opposed to UR's explicit-trust-boundary stance in
147
+ `docs/FRONTIER_AGENT_FEATURES.md`.
148
+
149
+ ---
150
+
151
+ ## 4. Suggested sequencing
152
+
153
+ 1. Credential masking + strict network allowlist (#1, #2) — same subsystem.
154
+ 2. Bash permission parser audit (#4) + `Tool(param:value)` (#3).
155
+ 3. Screen-reader mode (#10) — self-contained in `src/ink/`.
156
+ 4. MCP `InputRequiredResult` + `roots/list` (#7, #8); fix the A2A card version (#9a).
157
+ 5. Session budgets (#5), `--forward-subagent-text` (#6), OTel attributes (#15).
158
+ 6. Ergonomics batch: `/config key=value`, `DirectoryAdded`, session archive,
159
+ vim remaps (#11–14).
160
+
161
+ Then update `docs/AGENT_TRENDS.md` — its snapshot line still reads
162
+ `2026-08-10` and the coverage matrix predates the `2026-07-28` MCP final spec.
163
+
164
+ ---
165
+
166
+ ## Sources
167
+
168
+ - [Claude Code changelog](https://code.claude.com/docs/en/changelog)
169
+ - [Enabling Claude Code to work more autonomously — Anthropic](https://www.anthropic.com/news/enabling-claude-code-to-work-more-autonomously)
170
+ - [The 2026-07-28 MCP Specification](https://blog.modelcontextprotocol.io/posts/2026-07-28/)
171
+ - [The 2026-07-28 MCP Specification Release Candidate](https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/)
172
+ - [The 2026 MCP Roadmap](https://blog.modelcontextprotocol.io/posts/2026-mcp-roadmap/)
173
+ - [MCP 2026-07-28 spec: every breaking change, with fixes](https://stacktr.ee/blog/mcp-2026-spec-changes)
174
+ - [Codex CLI in 2026: What's New, What's Changed](https://codex.danielvaughan.com/2026/03/27/codex-cli-in-2026-whats-new/)
175
+ - [Codex Slash Commands: Complete CLI Reference (2026)](https://explainx.ai/blog/codex-slash-commands-complete-reference-guide-2026)
176
+ - [Gemini CLI changelog v0.53.0](https://geminicli.com/docs/changelogs/latest/)
177
+ - [Gemini CLI `/plan` command PR #17698](https://github.com/google-gemini/gemini-cli/pull/17698)
178
+ - [A2A Protocol Guide 2026](https://rapidclaw.dev/blog/a2a-protocol-complete-guide-2026)
179
+ - [MCP vs A2A vs AG-UI: Agent Protocols Guide 2026](https://nextpj.net/blog/mcp-a2a-ag-ui-ai-agent-protocols-guide-2026)
180
+ - [The 2026 Guide to Coding CLI Tools: 15 AI Agents Compared](https://www.tembo.io/blog/coding-cli-tools-comparison)
@@ -56,6 +56,20 @@ ur config set provider ollama
56
56
  ur provider status
57
57
  ```
58
58
 
59
+ ### Every Bash call fails with `ENOENT .../tasks/<id>.output`
60
+
61
+ - Likely cause: the operating system or a cleanup process reclaimed UR's
62
+ session task-output directory, or the conventional Unix `/tmp` path is
63
+ unavailable. The command itself never started; identical failure from
64
+ `echo ok` distinguishes this harness failure from an application error.
65
+ - Fix: upgrade to UR 1.79.1 or newer. UR now uses `os.tmpdir()`, ensures the
66
+ output directory for every launch, and automatically recreates and retries
67
+ when it disappears. Restarting an older session is only a temporary
68
+ workaround.
69
+ - Verification: start a new UR session and ask it to run `echo ok` through
70
+ Bash. A successful result confirms the harness; `/design3d doctor` alone
71
+ validates the local slash command but does not exercise Bash execution.
72
+
59
73
  ## Providers and models
60
74
 
61
75
  ### Provider selected but the model is unavailable
package/docs/USAGE.md CHANGED
@@ -277,7 +277,10 @@ UR includes slash commands and CLI subcommands for common workflows:
277
277
  allowed user-facing application
278
278
  - `ur plugin ...` to manage plugins and marketplaces. Marketplace plugins can
279
279
  add MCP tools, commands, executable skills, templates, validators, language
280
- adapters, LSP servers, agents, hooks, and output styles.
280
+ adapters, LSP servers, agents, hooks, and output styles. Use
281
+ `ur plugin search [query]` for ranked cross-catalog discovery and
282
+ `ur plugin show <name@marketplace>` to inspect provenance and capabilities
283
+ before installation.
281
284
  - `ur agents` to list configured agents
282
285
  - `ur agent-trends` to inspect coverage for current agent technology trends
283
286
  - `ur a2a card` to print UR's Agent Card metadata for A2A discovery
@@ -291,7 +294,12 @@ UR includes slash commands and CLI subcommands for common workflows:
291
294
  - `ur workspace ...` to coordinate dependency-aware changes across repositories
292
295
  - `ur learn playbooks ...` to mine and explicitly approve reusable workflows
293
296
  - `/btw ...` to create or continue private durable tool-free side chats
294
- - `ur repo-edit ...` to index the repo, plan AST-aware renames, preview patches, and apply with rollback
297
+ - `ur repo-edit ...` to index the repo, map compiler/graph change impact, plan AST-aware edits, preview patches, and apply with rollback
298
+ - `ur research ...` to create evidence-backed workspaces with sanitized sources,
299
+ cited findings, open questions, corroboration checks, and Markdown reports
300
+ - `ur design3d ...` to discover installed DCC/CAD apps and create, plan, build,
301
+ inspect, or validate Blender, OpenSCAD, Autodesk 3ds Max, and reviewed custom
302
+ application projects
295
303
  - `ur safety ...` to inspect project shell safety policy and preview command risk
296
304
  - `ur context-pack ...` to summarize architecture and persist project memory (decisions, constraints, commands, diffs, architecture, preferences, attempts, accepted, rejected)
297
305
  - `ur code-index watch` to keep the local semantic code index fresh
@@ -508,6 +516,18 @@ ur repo-edit index
508
516
  ur repo-edit plan rename oldName --to newName
509
517
  ur repo-edit preview rename oldName --to newName
510
518
  ur repo-edit apply rename oldName --to newName --check "bun test"
519
+ ur repo-edit impact checkoutTotal --depth 5
520
+ ur research init current-tools --question "What changed in current coding agents?"
521
+ ur research source current-tools --url https://example.com/changelog --title "Official changelog"
522
+ ur research finding current-tools --text "Tool discovery shipped." --cite S1
523
+ ur research verify current-tools
524
+ ur research report current-tools --out docs/research/current-tools.md
525
+ ur design3d doctor
526
+ ur design3d init web-model --engine blender --units m --format glb
527
+ ur design3d init printable-part --engine openscad --units mm --format stl
528
+ ur design3d init max-scene --engine 3dsmax --units cm --format max
529
+ ur design3d build design3d/web-model --dry-run
530
+ ur design3d validate design3d/web-model
511
531
  ur ide diff capture --title "Working tree review"
512
532
  ur eval bench list
513
533
  ur eval run starter --dry-run --json
@@ -19,7 +19,7 @@ You need:
19
19
 
20
20
  ```sh
21
21
  ur --version
22
- # expected for this release: "1.78.14 (UR-Nexus)"
22
+ # expected for this release: "1.79.1 (UR-Nexus)"
23
23
  ```
24
24
 
25
25
  ## 0.1 First-workspace model selection (1.45.4)
package/docs/plugins.md CHANGED
@@ -99,6 +99,8 @@ isolated to that plugin.
99
99
 
100
100
  ```sh
101
101
  ur plugin list [--json] # installed plugins
102
+ ur plugin search [query] # ranked discovery across configured catalogs
103
+ ur plugin show <name-or-id> # provenance, capabilities, status, install hint
102
104
  ur plugin doctor [--json] # validate manifests + capability report
103
105
  ur plugin validate <path> # validate a single manifest
104
106
  ur plugin install <name> # install from a marketplace
@@ -109,6 +111,39 @@ ur plugin uninstall <name>
109
111
 
110
112
  Disabled plugins are not loaded. Enable/disable state persists in user settings.
111
113
 
114
+ ## Discover plugins
115
+
116
+ Search is read-only and covers every configured marketplace plus installed,
117
+ built-in, and `--plugin-dir` session plugins. Marketplace declaration scope is
118
+ reported as managed, personal, workspace, or implicit; source kind identifies
119
+ whether its catalog came from GitHub, git, URL, npm, a directory, a file, or
120
+ settings. Broken catalogs do not hide healthy results and are reported as
121
+ bounded warnings.
122
+
123
+ ```sh
124
+ ur plugin search
125
+ ur plugin search git
126
+ ur plugin search review --capability validators
127
+ ur plugin search --marketplace ur-plugins-official --limit 50
128
+ ur plugin search --installed
129
+ ur plugin search mcp --json
130
+ ur plugin show obsidian@ur-plugins-official
131
+ ur plugin show obsidian --json
132
+ ```
133
+
134
+ Queries use case-insensitive AND-token matching over plugin ID, name,
135
+ marketplace, category, tags, capabilities, and description. Exact IDs and names
136
+ rank first, followed by name, tag, category, capability, marketplace, and
137
+ description matches. Ties are deterministic. The default result limit is 20
138
+ and the maximum is 100. Unqualified names must resolve to exactly one catalog;
139
+ when two catalogs contain the same name, `plugin show` requires the full
140
+ `name@marketplace` ID.
141
+
142
+ Discovery never installs or enables a plugin. Source URLs have embedded HTTP
143
+ credentials redacted before display. Use the exact install command printed in
144
+ the search/detail output after reviewing the plugin's provenance and capability
145
+ surface.
146
+
112
147
  ## Permissions
113
148
 
114
149
  UR's declarative model grants only what a plugin declares. Components run in the
@@ -126,4 +161,3 @@ before enabling it.
126
161
  (field path + message).
127
162
  - **Command not found after install:** ensure the manifest `commands` path
128
163
  points at existing markdown files; re-run `ur plugin doctor`.
129
-
@@ -31,9 +31,15 @@ const featureGroups = [
31
31
  },
32
32
  {
33
33
  title: 'Reliable repo editing',
34
- tags: ['index', 'AST', 'preview', 'rollback'],
35
- text: 'File and symbol indexing, indexed search, AST-aware JavaScript/TypeScript identifier rename plans, patch previews before writes, and rollback-safe multi-file apply.',
36
- commands: ['ur repo-edit index', 'ur repo-edit search', 'ur repo-edit preview rename', 'ur repo-edit apply rename --check'],
34
+ tags: ['index', 'AST', 'impact', 'preview', 'rollback'],
35
+ text: 'Compiler/graph change-impact maps, file and symbol indexing, AST-aware JavaScript/TypeScript edits, patch previews before writes, and rollback-safe multi-file apply.',
36
+ commands: ['ur repo-edit impact', 'ur repo-edit index', 'ur repo-edit search', 'ur repo-edit preview rename', 'ur repo-edit apply rename --check'],
37
+ },
38
+ {
39
+ title: 'Professional 3D and DCC/CAD',
40
+ tags: ['Blender', 'OpenSCAD', '3ds Max', 'glTF'],
41
+ text: 'Unit-aware parametric projects, installed-app discovery, shell-free reviewed custom adapters, bounded builds, common 3D format inspection, and optional Khronos glTF validation for Blender, OpenSCAD, 3ds Max, Maya, FreeCAD, Houdini, Cinema 4D, and Rhino workflows.',
42
+ commands: ['ur design3d doctor', 'ur design3d init', 'ur design3d build --dry-run', 'ur design3d validate'],
37
43
  },
38
44
  {
39
45
  title: 'Automation and triggers',
@@ -44,8 +50,8 @@ const featureGroups = [
44
50
  {
45
51
  title: 'Knowledge and memory',
46
52
  tags: ['retrieval', 'provenance', 'citations'],
47
- text: 'Durable memory, semantic memory, curated knowledge sources, lexical or embedding retrieval, digest-validated file/run citations, explicitly unverifiable user/web citations, claim ledgers, and research graph primitives.',
48
- commands: ['ur knowledge', 'ur semantic-memory', 'ur context-pack remember --cite-file', 'ur context-pack memory revalidate', 'ur claim-ledger'],
53
+ text: 'Durable memory, source-backed research workspaces, independent corroboration checks, semantic memory, curated knowledge sources, lexical or embedding retrieval, digest-validated citations, claim ledgers, and research graph primitives.',
54
+ commands: ['ur research', '/research-pro', 'ur knowledge', 'ur semantic-memory', 'ur context-pack remember --cite-file', 'ur context-pack memory revalidate', 'ur claim-ledger'],
49
55
  },
50
56
  {
51
57
  title: 'Evaluation and verification',
@@ -361,12 +367,19 @@ const commands = [
361
367
  summary: 'List, inspect, install, save, or execute multi-agent collaboration patterns such as PEER, DOE, concurrent, handoff, and debate.',
362
368
  examples: ['ur pattern list', 'ur pattern show peer', 'ur pattern run peer "Implement and review auth"', 'ur pattern run concurrent "Audit docs" --execute --dry-run'],
363
369
  },
370
+ {
371
+ name: 'design3d',
372
+ category: 'Media',
373
+ aliases: ['three-d', 'design-3d'],
374
+ summary: 'Create, plan, build, inspect, and validate Blender, OpenSCAD, Autodesk 3ds Max, and reviewed custom DCC/CAD projects.',
375
+ examples: ['ur design3d doctor', 'ur design3d init product --engine blender --units mm --format glb', 'ur design3d init studio --engine 3dsmax --units cm --format max', 'ur design3d build design3d/product --dry-run', 'ur design3d validate design3d/product'],
376
+ },
364
377
  {
365
378
  name: 'plugin',
366
379
  category: 'Interop',
367
380
  aliases: ['plugins'],
368
381
  summary: 'Manage UR plugins and marketplaces for MCP tools, skills, templates, validators, language adapters, LSP servers, agents, hooks, output styles, and commands.',
369
- examples: ['ur plugin list', 'ur plugin install hello@ur-plugins-official', 'ur plugin install engineering-discipline@ur-plugins-official', 'ur plugin update <plugin>', 'ur plugin disable <plugin>'],
382
+ examples: ['ur plugin search git', 'ur plugin search --capability skills --json', 'ur plugin show github@ur-plugins-official', 'ur plugin list', 'ur plugin install hello@ur-plugins-official', 'ur plugin update <plugin>'],
370
383
  },
371
384
  {
372
385
  name: 'provider',
@@ -379,8 +392,15 @@ const commands = [
379
392
  name: 'repo-edit',
380
393
  category: 'Delivery',
381
394
  aliases: ['repoedit', 'reliable-edit'],
382
- summary: 'Reliable repo editing with a local file/symbol index, AST-aware JS/TS rename plans, patch previews, and rollback-safe multi-file apply.',
383
- examples: ['ur repo-edit index', 'ur repo-edit search checkoutTotal', 'ur repo-edit plan rename oldName --to newName', 'ur repo-edit preview rename oldName --to newName', 'ur repo-edit apply rename oldName --to newName --check "bun test"'],
395
+ summary: 'Reliable repo editing with compiler/graph impact analysis, a local file/symbol index, AST-aware JS/TS plans, patch previews, and rollback-safe multi-file apply.',
396
+ examples: ['ur repo-edit impact checkoutTotal', 'ur repo-edit index', 'ur repo-edit search checkoutTotal', 'ur repo-edit plan rename oldName --to newName', 'ur repo-edit preview rename oldName --to newName', 'ur repo-edit apply rename oldName --to newName --check "bun test"'],
397
+ },
398
+ {
399
+ name: 'research',
400
+ category: 'Knowledge',
401
+ aliases: ['deep-research'],
402
+ summary: 'Build source-backed research workspaces with sanitized sources, cited findings, open questions, corroboration verification, and Markdown reports.',
403
+ examples: ['ur research init landscape --question "What changed?"', 'ur research source landscape --url https://example.com --title "Primary source"', 'ur research finding landscape --text "A feature shipped." --cite S1', 'ur research verify landscape', 'ur research report landscape --out docs/research/landscape.md'],
384
404
  },
385
405
  {
386
406
  name: 'role-mode',
@@ -537,8 +557,8 @@ const slashGroups = [
537
557
  },
538
558
  {
539
559
  title: 'Media and research',
540
- items: ['/research', '/paper', '/cite', '/image', '/video', '/youtube', '/browser', '/chrome'],
541
- text: 'Handle research notes, citations, multimodal files, browser workflows, and video metadata/transcripts.',
560
+ items: ['/research', '/research-pro', '/dcc-design', '/design3d', '/paper', '/cite', '/image', '/video', '/youtube', '/browser', '/chrome'],
561
+ text: 'Build evidence-backed research reports, automate professional 3D/DCC/CAD projects, manage citations and multimodal files, and run browser/video workflows.',
542
562
  },
543
563
  {
544
564
  title: 'Preferences and environment',
@@ -45,7 +45,7 @@
45
45
  <main id="content" class="content">
46
46
  <header class="topbar">
47
47
  <div>
48
- <p class="eyebrow">Version 1.78.14</p>
48
+ <p class="eyebrow">Version 1.79.1</p>
49
49
  <h1>UR-Nexus Documentation</h1>
50
50
  <p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-Nexus.</p>
51
51
  </div>
@@ -84,7 +84,15 @@
84
84
  </article>
85
85
  <article>
86
86
  <strong>Reliable repo editing</strong>
87
- <span><code>ur repo-edit</code> indexes files and symbols, plans AST-aware renames, previews patches, and rolls back failed multi-file applies.</span>
87
+ <span><code>ur repo-edit</code> maps compiler/graph change impact, indexes files and symbols, plans AST-aware edits, previews patches, and rolls back failed multi-file applies.</span>
88
+ </article>
89
+ <article>
90
+ <strong>Evidence-backed research</strong>
91
+ <span><code>ur research</code> persists sanitized sources, cited findings, open questions, independent corroboration checks, and reviewable reports.</span>
92
+ </article>
93
+ <article>
94
+ <strong>Professional 3D workflows</strong>
95
+ <span><code>ur design3d</code> automates Blender, OpenSCAD, Autodesk 3ds Max, and reviewed custom DCC/CAD applications with dry-run plans, bounded builds, inspection, and glTF validation.</span>
88
96
  </article>
89
97
  <article>
90
98
  <strong>Test-first execution</strong>
@@ -92,7 +100,7 @@
92
100
  </article>
93
101
  <article>
94
102
  <strong>Deterministic commands</strong>
95
- <span>The external runtime exposes 150 commands and 217 unique slash tokens; registry tests reject ambiguous names, broken loaders, and undocumented visible commands.</span>
103
+ <span>The external runtime exposes 172 commands and 253 unique slash tokens; registry tests reject ambiguous names, broken loaders, and undocumented visible commands.</span>
96
104
  </article>
97
105
  <article>
98
106
  <strong>Safety and context</strong>
@@ -328,11 +336,30 @@ ur workflow run release --live --concurrency 2</code></pre>
328
336
  <li>Apply transactionally with a validation command that triggers rollback on failure.</li>
329
337
  </ol>
330
338
  <pre><code>ur repo-edit index
339
+ ur repo-edit impact checkoutTotal --depth 5
331
340
  ur repo-edit search checkoutTotal
332
341
  ur repo-edit preview rename oldName --to newName
333
342
  ur repo-edit apply rename oldName --to newName --check "bun test"</code></pre>
334
343
  </article>
335
344
 
345
+ <article>
346
+ <h3>Research with a verifiable evidence map</h3>
347
+ <pre><code>ur research init landscape --question "Which capabilities shipped?"
348
+ ur research source landscape --url https://example.com/spec --title "Primary source"
349
+ ur research finding landscape --text "A capability shipped." --cite S1
350
+ ur research verify landscape
351
+ ur research report landscape --out docs/research/landscape.md</code></pre>
352
+ </article>
353
+
354
+ <article>
355
+ <h3>Build a reproducible 3D project</h3>
356
+ <pre><code>ur design3d doctor
357
+ ur design3d init product --engine blender --units mm --format glb
358
+ ur design3d init studio --engine 3dsmax --units cm --format max
359
+ ur design3d build design3d/product --dry-run
360
+ ur design3d validate design3d/product</code></pre>
361
+ </article>
362
+
336
363
  <article>
337
364
  <h3>Run test-first command evidence</h3>
338
365
  <ol>
@@ -569,8 +596,10 @@ ur mcp serve-http --port 8976
569
596
  ur skill verify &lt;name-or-directory&gt;
570
597
  ur ag-ui serve --help
571
598
  ur plugin list
599
+ ur plugin search git
600
+ ur plugin show github@ur-plugins-official
572
601
  ur plugin install &lt;plugin&gt;</code></pre>
573
- <p>The opt-in stateless MCP HTTP adapter exposes negotiated Tasks and Apps. Portable skills load from native and cross-client roots with strict validation and Ed25519 provenance. AG-UI provides a bounded, opt-in frontend stream. Treat MCP servers and plugins as trusted code.</p>
602
+ <p>The opt-in stateless MCP HTTP adapter exposes negotiated Tasks and Apps. Portable skills load from native and cross-client roots with strict validation and Ed25519 provenance. Plugin search provides ranked cross-catalog discovery with provenance and capability metadata. AG-UI provides a bounded, opt-in frontend stream. Treat MCP servers and plugins as trusted code.</p>
574
603
  </article>
575
604
  <article>
576
605
  <h3>IDE inline diffs</h3>
@@ -7,8 +7,8 @@
7
7
  UR plans, reads files, edits, and can run tests. Safety + stability:
8
8
 
9
9
  - Repo-wide identifier refactors can use `ur repo-edit`: build an index,
10
- preview the AST-aware patch, then apply with a check command that rolls back
11
- touched files on failure.
10
+ map compiler/graph change impact, preview the AST-aware patch, then apply
11
+ with a check command that rolls back touched files on failure.
12
12
  - Stack-aware quality loops can use `ur test-first`: detect compile/test/lint
13
13
  commands, store failed command traces, and install the same commands as
14
14
  after-edit verifier gates.
@@ -26,6 +26,7 @@ UR plans, reads files, edits, and can run tests. Safety + stability:
26
26
 
27
27
  ```sh
28
28
  ur repo-edit index
29
+ ur repo-edit impact healthHandler --depth 5
29
30
  ur repo-edit preview rename oldName --to newName
30
31
  ur repo-edit apply rename oldName --to newName --check "bun test"
31
32
  ur test-first detect