ur-agent 1.80.3 → 1.80.5

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/docs/A2A.md CHANGED
@@ -53,6 +53,14 @@ Inspect the live card:
53
53
  curl -s http://127.0.0.1:8765/.well-known/agent-card.json
54
54
  ```
55
55
 
56
+ Preview either card without starting the server:
57
+
58
+ ```sh
59
+ ur a2a card --v1 # current A2A 1.0 card
60
+ ur a2a card # legacy 0.3 compatibility card
61
+ ur a2a card --v1 --base-url https://agent.example.com
62
+ ```
63
+
56
64
  Without a version header, discovery returns the v1 ProtoJSON card with
57
65
  `supportedInterfaces` for JSON-RPC, HTTP+JSON, and the legacy v0.3 binding. Use
58
66
  `A2A-Version: 0.3` to retrieve the standalone v0.3 SDK card. Both cards report
@@ -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.80.5 Addition
13
+
14
+ | Addition | Surface | What it adds |
15
+ | --- | --- | --- |
16
+ | Plan-to-task synchronization | `Write`/`Edit` plan artifact, `ExitPlanMode`, canonical `TaskCreate` lifecycle | Removes the circular task-gate failure while keeping project mutations protected. Approval preserves an existing actionable board or creates bounded, deduplicated implementation tasks and a dependent verification task before coding begins. |
17
+
18
+ ## v1.80.4 Additions
19
+
20
+ | Addition | Surface | What it adds |
21
+ | --- | --- | --- |
22
+ | Permanent-link circuit breaker | `WebFetch` | Stops repeat and alternating loops over dead 4xx URLs without disabling legitimate retries for transient network or server failures. URL identities are prompt-independent, hashed, bounded, and query-scoped. |
23
+ | Plan/task recovery | `EnterPlanMode`, `TaskCreate` gate | Makes the distinction between an implementation plan and visible executable tasks explicit before workspace mutation. |
24
+ | Safe CLI parity | `ur config set|get|list`, `ur a2a card --v1`, `ur session status` | Makes accessibility/editor configuration, current Agent Card preview, and conversation inspection available to scripts without weakening compatibility defaults. |
25
+ | Complete command display hardening | Background shell details | Escapes deceptive control, invisible, and bidirectional characters before truncation. |
26
+
12
27
  ## v1.80.3 Addition
13
28
 
14
29
  | Addition | Surface | What it adds |
@@ -12,6 +12,7 @@ linked primary sources before acting on prerelease standards.
12
12
  ur agent-trends
13
13
  ur agent-trends --json
14
14
  ur a2a card
15
+ ur a2a card --v1
15
16
  ur a2a card --base-url https://example.com
16
17
  ur ag-ui serve --help
17
18
  ur agent-features
@@ -17,6 +17,22 @@ Start UR with `--screen-reader`, set `UR_SCREEN_READER=1`, or use
17
17
  edits, and reduced animation. `vimEscape` accepts 2–8 printable non-whitespace
18
18
  characters or `off`.
19
19
 
20
+ The same settings are available without starting the interactive interface,
21
+ which is useful for CI setup and accessibility-first startup:
22
+
23
+ ```sh
24
+ ur config set screenReader true
25
+ ur config set reducedMotion true
26
+ ur config set editor vim
27
+ ur config set vimEscape jj
28
+ ur config get screenReader
29
+ ur config list --json
30
+ ```
31
+
32
+ `ur config get` and `list` expose only the validated, non-secret settings that
33
+ `ur config set` accepts. Screen-reader and reduced-motion values use the local
34
+ workspace settings source; editor and Vim escape preferences are global.
35
+
20
36
  ## Interactive task planning
21
37
 
22
38
  UR uses strict-hybrid task tracking by default: one atomic, low-risk outcome
@@ -26,7 +26,7 @@ unchanged. UR does not add automated approval delegation.
26
26
  | Accessibility | Added `--screen-reader`, `screenReaderMode`, append-only plain-text rendering, edit announcements, and reduced animation. |
27
27
  | In-session configuration | Added `/config key=value`, including thinking, screen reader, reduced motion, verbose output, auto-compaction, editor mode, and Vim escape sequence. |
28
28
  | Directory automation | Added the `DirectoryAdded` hook and roots-change notification after `/add-dir`. |
29
- | Session lifecycle | Added `/session status|list|archive|unarchive` and `ur session list|archive|unarchive`. Archived sessions cannot appear in resume/fork discovery until restored. |
29
+ | Session lifecycle | Added `/session status|list|archive|unarchive` and `ur session status|list|archive|unarchive`. Archived sessions cannot appear in resume/fork discovery until restored. |
30
30
  | Vim input | Added `vimEscape=<sequence>`; for example, `/config editor=vim vimEscape=jj`. |
31
31
  | Telemetry | Added privacy-safe `assistant_response` events, message/request/tool correlation, and workflow name/run identifiers. |
32
32
  | Command quality | Removed the no-op `/output-style` command and dormant `/ultraplan` registration, renamed `/debug-v2` to `/fix-bug`, removed duplicate 3D aliases, expanded protocol names in help, and added registry checks against public version jargon. |
@@ -70,6 +70,32 @@ ur provider status
70
70
  Bash. A successful result confirms the harness; `/design3d doctor` alone
71
71
  validates the local slash command but does not exercise Bash execution.
72
72
 
73
+ ### Fetch repeatedly reports `404`
74
+
75
+ - Likely cause: the page moved or the model generated a stale URL. A successful
76
+ fetch from another page proves the network path is working; retrying the same
77
+ missing URL cannot change its HTTP status.
78
+ - Fix: upgrade to UR 1.80.4 or newer. WebFetch now records permanent 4xx
79
+ failures by normalized URL, independent of its hidden summarization prompt.
80
+ It refuses another network request for that URL and stops the turn if the
81
+ model keeps retrying. Alternating between two dead URLs is bounded as well.
82
+ - Recovery: use WebSearch, fetch the site’s parent/index page, or choose a
83
+ different source. Timeouts, `408`, `409`, `425`, `429`, and `5xx` responses
84
+ remain retryable because they may be transient.
85
+
86
+ ### Plan mode says `TaskListRequired`
87
+
88
+ - Likely cause on UR 1.80.3–1.80.4: the strict task gate treated the session's
89
+ own plan-file update as a project mutation, creating a circular requirement
90
+ for tasks before the plan could be finalized.
91
+ - Fix: upgrade to UR 1.80.5 or newer. The exact active plan file is allowed
92
+ during plan mode, and approved plans are synchronized into visible
93
+ implementation and verification tasks before the first project mutation.
94
+ Other files remain protected. Existing actionable tasks are preserved.
95
+ - If the message names a project file rather than the active plan file, it is
96
+ expected: create the requested tasks or finish and approve the plan first.
97
+ Disabling `tasks.requireBeforeChanges` is no longer needed for plan mode.
98
+
73
99
  ## Providers and models
74
100
 
75
101
  ### Provider selected but the model is unavailable
package/docs/USAGE.md CHANGED
@@ -313,7 +313,8 @@ UR includes slash commands and CLI subcommands for common workflows:
313
313
  before installation.
314
314
  - `ur agents` to list configured agents
315
315
  - `ur agent-trends` to inspect coverage for current agent technology trends
316
- - `ur a2a card` to print UR's Agent Card metadata for A2A discovery
316
+ - `ur a2a card` to print legacy Agent Card metadata, or
317
+ `ur a2a card --v1` to preview the current A2A 1.0 card
317
318
  - `ur bg ...` to run and idempotently steer detached local background agents
318
319
  with optional worktrees and PRs
319
320
  - `ur cloud ...` to run, synchronize, steer, and cancel local or managed
@@ -467,6 +468,14 @@ empty or adding the reply as another task. A terminal board is archived only
467
468
  when the next prompt is genuinely new work. Legacy automatic placeholders from
468
469
  older builds are hidden and removed at the next prompt boundary.
469
470
 
471
+ Plan mode has one narrow exception to the mutation gate: UR may write or edit
472
+ the exact plan file for the active session while the rest of the workspace
473
+ remains read-only. When the user approves the plan, `ExitPlanMode` preserves
474
+ any existing actionable board or creates a bounded set of professional,
475
+ deduplicated implementation tasks plus a verification task that depends on
476
+ them. Implementation therefore starts with visible tracking without requiring
477
+ the model or user to recover from a circular `TaskListRequired` error.
478
+
470
479
  Independent read-only tasks can run in parallel. A task that may write to the
471
480
  shared checkout is serialized with other possible writers, even when it comes
472
481
  from another top-level prompt or crew worker. Parallel writers require explicit
@@ -19,7 +19,23 @@ You need:
19
19
 
20
20
  ```sh
21
21
  ur --version
22
- # expected for this release: "1.80.3 (UR-Nexus)"
22
+ # expected for this release: "1.80.5 (UR-Nexus)"
23
+ ```
24
+
25
+ ### 0.0.1 Plan approval creates visible tasks (1.80.5)
26
+
27
+ Start an interactive session with task enforcement enabled, ask for a
28
+ multi-file change, and let the agent enter plan mode. Expected lifecycle:
29
+
30
+ 1. Updating the displayed plan succeeds without `TaskListRequired`.
31
+ 2. Approving `ExitPlanMode` creates or preserves visible implementation tasks.
32
+ 3. A verification task is blocked by the implementation tasks.
33
+ 4. The first project edit proceeds and task statuses stay visible.
34
+
35
+ The deterministic regression is:
36
+
37
+ ```sh
38
+ bun test test/taskListGate.test.ts test/planModeTaskSync.test.ts
23
39
  ```
24
40
 
25
41
  ## 0.1 First-workspace model selection (1.45.4)
@@ -316,6 +332,15 @@ Expected: after the 3rd identical Bash call, the agent receives a "stop
316
332
  repeating the same call" reminder and switches strategy (or asks for
317
333
  clarification).
318
334
 
335
+ ### 3.1 Permanent WebFetch loop stops
336
+
337
+ Ask the agent to fetch one known-missing public URL repeatedly while changing
338
+ the WebFetch prompt. Expected: the first request reports the permanent HTTP
339
+ 4xx response, the next is refused without network I/O, and another unchanged
340
+ attempt stops the turn. Repeat with two missing URLs in alternating order; the
341
+ same bounded behavior applies independently to both. A `429` or `5xx` fixture
342
+ must remain retryable.
343
+
319
344
  ## 4. Project gate from `.ur/verify.json`
320
345
 
321
346
  Create one:
@@ -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.80.3</p>
48
+ <p class="eyebrow">Version 1.80.5</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>
@@ -7,7 +7,7 @@ plugins {
7
7
  }
8
8
 
9
9
  group = "dev.urnexus"
10
- version = "1.80.3"
10
+ version = "1.80.5"
11
11
 
12
12
  repositories {
13
13
  mavenCentral()
@@ -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.80.3",
5
+ "version": "1.80.5",
6
6
  "publisher": "ur-nexus",
7
7
  "engines": {
8
8
  "vscode": "^1.92.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ur-agent",
3
- "version": "1.80.3",
3
+ "version": "1.80.5",
4
4
  "description": "UR-Nexus — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",