ur-agent 1.68.17 → 1.68.18

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 CHANGED
@@ -1,7 +1,37 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.68.18
4
+
5
+ - The shell is presentational and imports only ink and useTerminalSize. A first
6
+ version read live state itself (settings, provider registry, app state, git),
7
+ and importing it from REPL changed REPL's module graph enough to flip a
8
+ command from hidden to visible — caught by `commandRegistryIntegrity`, which
9
+ passed with the REPL edit stashed and failed with it applied. Loading a module
10
+ is not free here; some register on load. Session values now arrive as props
11
+ from a caller that already holds them.
12
+
13
+ - Reconstructed three more stub type files, clearing 177 further errors:
14
+ `keybindings/types.ts` (six empty interfaces), `ink/cursor.ts`, and
15
+ `commands/plugin/unifiedTypes.ts`. Same defect as the MCP types in 1.68.14 —
16
+ an empty interface means "has no members" to TypeScript, not "shape unknown",
17
+ so every property access on one was an error and the consuming files carried
18
+ `@ts-nocheck` as a result.
19
+ - `KeybindingBlock.bindings` is keyed by chord string, not an array. A first
20
+ attempt typed it `ParsedBinding[]`, which made every entry in the default
21
+ binding table an error — the declaration form (`'ctrl+d': 'app:exit'`) and the
22
+ parsed form (chord resolved into keystrokes) are different shapes, and
23
+ conflating them broke a file that had been fine.
24
+ - `KeybindingAction` is a string rather than a union of known actions:
25
+ `defaultBindings.ts` assembles entries conditionally from feature flags, so a
26
+ value missing from a union would turn a working binding into an error.
27
+ - Suppression list: 140 -> 132. Eight keybinding and ink files came off.
28
+ - Totals for the sweep so far: 223 -> 132 files, 868 -> 563 errors, and almost
29
+ none of it file-by-file. Four stub files accounted for 258 errors on their
30
+ own.
31
+
3
32
  ## 1.68.17
4
33
 
34
+
5
35
  - Fixed false `TaskListRequired` failures for observational Bash capability
6
36
  checks. Task tracking now has a classification distinct from permission
7
37
  auto-approval, so an executable probe can remain permission- and
@@ -17,6 +47,7 @@
17
47
 
18
48
  ## 1.68.16
19
49
 
50
+
20
51
  - First pieces of the UR Nexus visual identity, as terminal primitives rather
21
52
  than artwork: `constants/urPalette.ts` (obsidian/bronze/electrum/lapis tokens
22
53
  in true-colour, ANSI-256 and monochrome tiers, with depth detection),
@@ -42,27 +73,37 @@
42
73
 
43
74
  ## 1.68.15
44
75
 
45
- - Reconstructed three more stub type files, clearing 177 further errors:
46
- `keybindings/types.ts` (six empty interfaces), `ink/cursor.ts`, and
47
- `commands/plugin/unifiedTypes.ts`. Same defect as the MCP types in 1.68.14
48
- an empty interface means "has no members" to TypeScript, not "shape unknown",
49
- so every property access on one was an error and the consuming files carried
50
- `@ts-nocheck` as a result.
51
- - `KeybindingBlock.bindings` is keyed by chord string, not an array. A first
52
- attempt typed it `ParsedBinding[]`, which made every entry in the default
53
- binding table an error the declaration form (`'ctrl+d': 'app:exit'`) and the
54
- parsed form (chord resolved into keystrokes) are different shapes, and
55
- conflating them broke a file that had been fine.
56
- - `KeybindingAction` is a string rather than a union of known actions:
57
- `defaultBindings.ts` assembles entries conditionally from feature flags, so a
58
- value missing from a union would turn a working binding into an error.
59
- - Suppression list: 140 -> 132. Eight keybinding and ink files came off.
60
- - Totals for the sweep so far: 223 -> 132 files, 868 -> 563 errors, and almost
61
- none of it file-by-file. Four stub files accounted for 258 errors on their
62
- own.
76
+
77
+ - Redesigned the fixed top shell and bottom status area. The full-width bordered
78
+ banner is replaced by a three-column command deck: identity and version left,
79
+ workspace and branch centre, clock right, with a single graphite separator
80
+ beneath. The bright orange frame is gone, bronze is reserved for UR branding
81
+ and structural accents, and lapis blue carries focus, selection and context
82
+ usage. The house artwork is imported unchanged, character for character; the
83
+ UR wordmark is kept but rendered at normal weight rather than as the headline.
84
+ - The footer is now a two-row rail with no surrounding box. Items declare a
85
+ priority, two widths and three renderings, so the rail degrades before it
86
+ drops and never wraps verified at 80x24, 100x30, 120x40 and 160x50.
87
+ Mode and context usage are the last things to go.
88
+ - System metrics render vertically with fixed-width labels and right-aligned
89
+ values, so the column does not shift when 9% becomes 71%. Miniature bars
90
+ appear only when the column affords them. CPU is sampled on a timer rather
91
+ than read per render: os.cpus() reports cumulative ticks, so a single reading
92
+ carries no rate, and the first reading reports `--` instead of a fabricated 0%.
93
+ - Wired by composing around FullscreenLayout rather than adding a slot to it.
94
+ That file is React-Compiler output with hand-numbered memo slots and
95
+ @ts-nocheck; inserting a slot means renumbering the sequence, and an
96
+ off-by-one there produces cached JSX rendered against changed props — a fault
97
+ that neither throws nor typechecks. REPL changes by ten lines.
98
+ - The deck is fullscreen-only. Inline mode writes to native scrollback, where
99
+ there is no fixed viewport and a "fixed" region would scroll away with
100
+ everything else. When the terminal is too short for deck, rail and a few
101
+ lines of conversation, the shell steps aside and renders content alone rather
102
+ than letting Ink silently shrink the fixed regions.
63
103
 
64
104
  ## 1.68.14
65
105
 
106
+
66
107
  - Gave the MCP settings types their real shapes. `components/mcp/types.ts`
67
108
  declared seven **empty** interfaces under a "Stub: not included in leaked
68
109
  source" comment. An empty interface does not mean "unknown shape" to
@@ -81,6 +122,7 @@
81
122
 
82
123
  ## 1.68.13
83
124
 
125
+
84
126
  - Eight more files came off `@ts-nocheck` (149 -> 141) from a single fix. The
85
127
  compiled signature of `useRegisterOverlay(id, t0)` declared two required
86
128
  parameters while its own first statement reads
@@ -94,6 +136,7 @@
94
136
 
95
137
  ## 1.68.12
96
138
 
139
+
97
140
  - The Ollama request path now reports where a request's bytes actually go —
98
141
  tool definitions, system prompt, conversation — once per session in the debug
99
142
  log. The fixed cost of tools plus system prompt is what decides whether a
@@ -108,6 +151,7 @@
108
151
 
109
152
  ## 1.68.11
110
153
 
154
+
111
155
  - Investigated turning the task-list gate advisory by default and did not do
112
156
  it. The friction it causes is real, but the gate is also the final
113
157
  revalidation before a tool executes, and defaulting it off removes two
@@ -128,6 +172,7 @@
128
172
 
129
173
  ## 1.68.10
130
174
 
175
+
131
176
  - `ToolSearchTool` no longer registers on runtimes where it cannot work. Its
132
177
  purpose is fetching schemas for tools whose definitions were deferred, and
133
178
  deferral needs the runtime to expand `tool_reference` blocks — an
@@ -145,6 +190,7 @@
145
190
 
146
191
  ## 1.68.9
147
192
 
193
+
148
194
  - Narrowed that allowlist entry from `ur.com` to `ur.com/docs`. Replacing a
149
195
  docs-only host with a bare domain widened what WebFetch retrieves without
150
196
  asking, on a list whose own header warns that broad entries are dangerous
@@ -155,6 +201,7 @@
155
201
 
156
202
  ## 1.68.8
157
203
 
204
+
158
205
  - The bundled `ur-guide` agent no longer answers UR questions out of another
159
206
  product's documentation. It instructed the model to fetch
160
207
  `https://docs.claude.com/llms.txt` and present it to users as "UR SDK docs"
@@ -178,6 +225,7 @@
178
225
 
179
226
  ## 1.68.7
180
227
 
228
+
181
229
  - Corrected the ur.ai -> ur.com replacement, which had rewritten identifiers as
182
230
  well as URLs. `'ur.ai'` served two roles in this codebase: a domain in links
183
231
  such as `https://ur.ai/settings/billing`, and a discriminant value in
@@ -191,6 +239,7 @@
191
239
 
192
240
  ## 1.68.6
193
241
 
242
+
194
243
  - An oversized Ollama request now recovers instead of only explaining itself.
195
244
  1.68.3 reported "this request was 19.6 MB" clearly and then left the user to
196
245
  run /compact by hand. UR already had both halves of the fix — `isMediaSizeError`
@@ -210,6 +259,7 @@
210
259
 
211
260
  ## 1.68.5
212
261
 
262
+
213
263
  - Replaced every `ur.ai` reference in `src/` with `ur.com` (202 sites, 0 left).
214
264
  Note what these are: most are upstream URL structures carried into the fork —
215
265
  `/settings/billing`, `/settings/connectors`, `/upgrade/max`, `/chrome`,
@@ -225,6 +275,7 @@
225
275
 
226
276
  ## 1.68.4
227
277
 
278
+
228
279
  - The status line now reports subagents running in the current turn:
229
280
  `agents: 2 running`, separate from the existing background `tasks:` count.
230
281
  `isBackgroundTask()` excludes foreground entries on purpose — it was narrowed
@@ -242,6 +293,7 @@
242
293
 
243
294
  ## 1.68.3
244
295
 
296
+
245
297
  - `Ollama request failed (400): http: request body too large` now explains
246
298
  itself. That string comes from Go's `net/http` MaxBytesReader rejecting the
247
299
  payload on **byte size**, which is a different limit from the model's context
@@ -259,6 +311,7 @@
259
311
 
260
312
  ## 1.68.2
261
313
 
314
+
262
315
  - **Security: explicit file deny rules were not enforced.** `matchingRuleForInput`
263
316
  resolved which permission rule matched a path by reading `igResult.rule.pattern`
264
317
  from `ignore().test()`. That property does not exist — `TestResult` is
@@ -283,6 +336,7 @@
283
336
 
284
337
  ## 1.68.1
285
338
 
339
+
286
340
  - A detected prompt-injection attempt is now reported to the user instead of
287
341
  being refused in silence. Consolidating the scattered prompt guidance into the
288
342
  execution contract was a genuine improvement, but one clause did not survive:
@@ -295,6 +349,7 @@
295
349
 
296
350
  ## 1.68.0
297
351
 
352
+
298
353
  - Removed `@ts-nocheck` from 73 files, putting 21,503 previously unchecked lines
299
354
  under `tsc`. Every one of those files produced **zero** errors once the
300
355
  suppression was lifted — they were not suppressed because they were broken,
@@ -359,6 +414,7 @@
359
414
 
360
415
  ## 1.66.2
361
416
 
417
+
362
418
  - A long session on Ollama now says when it has run out of context instead of
363
419
  quietly getting worse. Ollama truncates an oversized prompt from the front
364
420
  rather than returning an error, and the front of the prompt is the system
@@ -374,6 +430,7 @@
374
430
 
375
431
  ## 1.66.1
376
432
 
433
+
377
434
  - Corrected the warning-state result used by reactive compaction and context
378
435
  collapse when a custom proactive threshold is configured. Their
379
436
  effective-window override can no longer report that the separate proactive
@@ -381,6 +438,7 @@
381
438
 
382
439
  ## 1.66.0
383
440
 
441
+
384
442
  - Unified proactive compaction around one model-aware threshold and one live
385
443
  token estimator. Small context windows now retain positive warning, error,
386
444
  and trigger thresholds; configured 50–95% thresholds are honored; prompt
@@ -412,6 +470,7 @@
412
470
 
413
471
  ## 1.65.14
414
472
 
473
+
415
474
  - Restored the proactive task-first behavior that was present in v1.65.0 and
416
475
  removed a prompt/gate contradiction introduced later. For any non-trivial
417
476
  state change, including a feature-rich single-file build, the model is now
@@ -439,6 +498,7 @@
439
498
 
440
499
  ## 1.65.13
441
500
 
501
+
442
502
  - Recovered otherwise valid `AskUserQuestion` calls whose UI header exceeds
443
503
  the 12-character chip width. Native structured calls, bare/wrapped JSON, and
444
504
  explicit-choice recovery now compact only that bounded presentation field;
@@ -454,6 +514,7 @@
454
514
 
455
515
  ## 1.65.12
456
516
 
517
+
457
518
  - Forced explicit weak-model decision menus through the real
458
519
  `AskUserQuestion` UI. A provider-neutral end-turn guard accepts only one
459
520
  canonical Ask object from explicit reasoning or one complete rigid Markdown
@@ -475,6 +536,7 @@
475
536
 
476
537
  ## 1.65.11
477
538
 
539
+
478
540
  - Hardened `AskUserQuestion` for weaker models without inventing user intent.
479
541
  Its model schema now exposes only a strict 1–4-question request shape with
480
542
  2–8 nested choices, compact validation explains malformed flat arrays, and
@@ -502,6 +564,7 @@
502
564
 
503
565
  ## 1.65.10
504
566
 
567
+
505
568
  - Reworked approved-plan execution into a capability-aware task graph. Plans
506
569
  now split separately completable outcomes, keep genuinely atomic work whole,
507
570
  express review-to-fix and verification dependencies, and launch only ready,
@@ -523,6 +586,7 @@
523
586
 
524
587
  ## 1.65.9
525
588
 
589
+
526
590
  - Fixed the plan-file/task-list deadlock. While plan mode is active, the exact
527
591
  normalized session plan file can be written before actionable tasks exist;
528
592
  ordinary workspace mutations still require `TaskCreate`/`TodoWrite`, and
@@ -539,6 +603,7 @@
539
603
 
540
604
  ## 1.65.8
541
605
 
606
+
542
607
  - Fixed provider API-key entry in `/model`: the masked input now uses the
543
608
  available terminal width, explicit cursor/focus state, and a one-line secret
544
609
  viewport instead of rendering one masked character per row. Narrow and
@@ -546,6 +611,7 @@
546
611
 
547
612
  ## 1.65.7
548
613
 
614
+
549
615
  - Audited all 14 technical chapters against the shipped source and generated
550
616
  CLI. The manual now distinguishes public runtime behavior from compile-time
551
617
  flags, compatibility-only state, and source helpers; it is included in the
@@ -598,6 +664,7 @@
598
664
 
599
665
  ## 1.65.6
600
666
 
667
+
601
668
  - Remote sessions no longer reconnect forever when the server repeatedly
602
669
  accepts a WebSocket upgrade and then reports that the session is missing.
603
670
  Repeated `connect()` calls reuse the live client, malformed permission and
@@ -658,6 +725,7 @@
658
725
 
659
726
  ## 1.65.5
660
727
 
728
+
661
729
  - Syntax highlighting works again — in assistant messages, code previews and
662
730
  question dialogs. `cli-highlight` was imported by four rendering surfaces and
663
731
  declared in `package.json` by none of them, so the import threw on every run
@@ -684,6 +752,7 @@
684
752
  could leave a stale value on screen after a switch.
685
753
  ## 1.65.4
686
754
 
755
+
687
756
  - A tool call that keeps failing identically is now stopped. A 4B model refused
688
757
  once by the task-list gate answered by emitting `Write` with no arguments
689
758
  repeatedly, and nothing intervened — the trajectory grader names this pattern
@@ -699,6 +768,7 @@
699
768
 
700
769
  ## 1.65.3
701
770
 
771
+
702
772
  - Removed two tips for things that do not exist: `/mobile to use UR from the
703
773
  UR app on your phone` (no such command, no such app) and a pointer to
704
774
  `ur.ai/web` (no DNS record, same dead domain class as the `ur.com` links
@@ -716,6 +786,7 @@
716
786
 
717
787
  ## 1.65.2
718
788
 
789
+
719
790
  - Fixed `--discover-ollama` having no effect on model discovery or requests.
720
791
  `getOllamaBaseUrl` resolves the session host correctly, but three callers
721
792
  read a persisted `provider.baseUrl` *before* consulting it, so a value
@@ -754,6 +825,7 @@
754
825
 
755
826
  ## 1.65.1
756
827
 
828
+
757
829
  - Fixed `ur selftest run` reporting 0/5 anywhere but the UR repo. The drill
758
830
  runner spawned `./bin/ur.js`, a path relative to the current directory, so
759
831
  every drill failed instantly with an empty detail — which reads as five
@@ -767,6 +839,7 @@
767
839
 
768
840
  ## 1.65.0
769
841
 
842
+
770
843
  - The release gate now asks the registry whether the packed dependency ranges
771
844
  can actually be installed. This is the check that was missing when 1.61.2
772
845
  through 1.64.0 shipped uninstallable: the tarball built, the CLI started,
@@ -782,6 +855,7 @@
782
855
 
783
856
  ## 1.64.1
784
857
 
858
+
785
859
  - Fixed `npm install -g ur-agent` failing with
786
860
  `No matching version found for playwright-core@^1.64.0`. Releases 1.61.2,
787
861
  1.62.0, 1.63.0 and 1.64.0 were uninstallable: the version bump was a
@@ -799,6 +873,7 @@
799
873
 
800
874
  ## 1.64.0
801
875
 
876
+
802
877
  - Tool-result pruning now announces itself. It changed context silently, so
803
878
  there was no way to confirm it fired or to attribute a missing detail to it —
804
879
  the same defect memory suggestions had when they went to stderr. A prune now
@@ -823,6 +898,7 @@
823
898
 
824
899
  ## 1.63.0
825
900
 
901
+
826
902
  - Added size-triggered pruning of superseded tool results
827
903
  (`context.pruneToolResults`). UR already had the clearing machinery, but
828
904
  nothing external could reach it: cached microcompact is internal-only and
@@ -842,6 +918,7 @@
842
918
 
843
919
  ## 1.62.0
844
920
 
921
+
845
922
  - `ur agent-inspect --costs` now labels each row with what the agent was
846
923
  actually doing. A real 62-agent fan-out reported opaque hex ids, so you could
847
924
  see that one agent burned 810k input tokens — 14% of the session — without
@@ -853,6 +930,7 @@
853
930
 
854
931
  ## 1.61.2
855
932
 
933
+
856
934
  - Fixed `ur agent-inspect --costs` reporting nothing, always. It resolved the
857
935
  *live* session, but every `ur` invocation mints a new session id, so bare it
858
936
  pointed at a session created milliseconds earlier that had by definition
@@ -866,6 +944,7 @@
866
944
 
867
945
  ## 1.61.1
868
946
 
947
+
869
948
  - Fixed secondary model queries failing on any Ollama setup whose session model
870
949
  is not `qwen2.5-coder:7b`. `getSmallFastModel()` fell back to the compiled
871
950
  default when auto-routing was off or no model list had been discovered, so a
@@ -882,6 +961,7 @@
882
961
 
883
962
  ## 1.61.0
884
963
 
964
+
885
965
  - Added `ur selftest`, end-to-end drills for the gap that produced every
886
966
  serious defect in recent releases: a module that is correct while something
887
967
  between it and the user is not — a wire format, a CLI registration, an exit
@@ -901,6 +981,7 @@
901
981
 
902
982
  ## 1.60.1
903
983
 
984
+
904
985
  - `ur memory-integrity verify` no longer reports an empty or missing store as
905
986
  verified. It printed "verified — 0 file(s) match the recorded digests" for an
906
987
  empty directory, and that identical reassurance would have appeared for a
@@ -916,6 +997,7 @@
916
997
 
917
998
  ## 1.60.0
918
999
 
1000
+
919
1001
  - Added `ur memory-integrity`, tamper-evidence for the file-backed memory
920
1002
  stores. Project task memory was hash-chained and could prove tampering; the
921
1003
  auto-memory and team-memory directories had nothing, and their contents are
@@ -943,6 +1025,7 @@
943
1025
 
944
1026
  ## 1.59.0
945
1027
 
1028
+
946
1029
  - Added `ur sources`, a claim-to-source ledger. `wrapUntrusted` already stamped
947
1030
  every untrusted block with a nonce and a source label, but discarded both the
948
1031
  moment the block reached the model, so there was no way to audit what web or
@@ -969,6 +1052,7 @@
969
1052
 
970
1053
  ## 1.58.1
971
1054
 
1055
+
972
1056
  - Unified vision-capability detection behind
973
1057
  `src/utils/model/visionCapability.ts`. Three implementations disagreed: the
974
1058
  Ollama adapter's `modelCapabilityEnabled` returned `has(x) ?? true`, so a
@@ -991,6 +1075,7 @@
991
1075
 
992
1076
  ## 1.58.0
993
1077
 
1078
+
994
1079
  - Added per-agent cost and token attribution: `ur agent-inspect --costs`.
995
1080
  `stats.ts` already read every `{sessionId}/subagents/agent-{agentId}.jsonl`
996
1081
  transcript, but only to fold those tokens into a single total, so a fan-out
@@ -1005,6 +1090,7 @@
1005
1090
 
1006
1091
  ## 1.57.5
1007
1092
 
1093
+
1008
1094
  - Fixed the release gate failing on `repoEditImports`. The gate runs
1009
1095
  `bun test --timeout 120000`, but a per-test budget silently overrides that
1010
1096
  global, and this test declared 15s while its body — which builds a
@@ -1016,6 +1102,7 @@
1016
1102
 
1017
1103
  ## 1.57.4
1018
1104
 
1105
+
1019
1106
  - Fixed slash command arguments being silently truncated. `parseArguments`
1020
1107
  kept only the string tokens shell-quote returned, but shell-quote classifies
1021
1108
  `left?` and `src/*.ts` as globs and `&`, `>`, `(` as operators — so
@@ -1039,6 +1126,7 @@
1039
1126
 
1040
1127
  ## 1.57.3
1041
1128
 
1129
+
1042
1130
  - Stopped a false diagnosis on failed tool calls. When a tool call failed
1043
1131
  schema validation, UR appended "this tool's schema was not sent to the API"
1044
1132
  and told the model to load it via `ToolSearch`. Both claims were wrong on
@@ -1055,6 +1143,7 @@
1055
1143
 
1056
1144
  ## 1.57.2
1057
1145
 
1146
+
1058
1147
  - Fixed the Ollama adapter discarding images returned by tools. A tool result
1059
1148
  containing an image was flattened with `contentBlockToText`, which renders an
1060
1149
  image block as the literal string `[Image output omitted]` — so a `Computer`
@@ -1069,6 +1158,7 @@
1069
1158
 
1070
1159
  ## 1.57.1
1071
1160
 
1161
+
1072
1162
  - Fixed the `Computer` tool returning a byte count instead of the screenshot.
1073
1163
  `mapToolResultToToolResultBlockParam` dropped the captured image, so the
1074
1164
  model saw only "Captured 5164460 bytes" and had to ask the user where to save
@@ -1080,6 +1170,7 @@
1080
1170
 
1081
1171
  ## 1.57.0
1082
1172
 
1173
+
1083
1174
  - Connected four features that were built, tested and then left unreachable.
1084
1175
  Each had passing unit tests while contributing nothing to a real session.
1085
1176
  - `wrapUntrusted()` now runs on WebFetch and WebSearch results, at the
@@ -1108,6 +1199,7 @@
1108
1199
 
1109
1200
  ## 1.56.1
1110
1201
 
1202
+
1111
1203
  - Documented the 1.52.0–1.56.0 features, which had reached `technical/03` as
1112
1204
  command rows but nowhere else. Doc 09 now covers the fan-out limits and how
1113
1205
  to run several workers at once; doc 12 covers the prompt-injection module and
@@ -1118,6 +1210,7 @@
1118
1210
 
1119
1211
  ## 1.56.0
1120
1212
 
1213
+
1121
1214
  - Added a subagent fan-out governor. Agents could spawn agents with no depth or
1122
1215
  concurrency bound, and `/crew`, `/arena`, `/bg fanout` and `/pattern` all
1123
1216
  spawn several at once, so a single prompt could expand into an unbounded tree
@@ -1146,6 +1239,7 @@
1146
1239
 
1147
1240
  ## 1.55.0
1148
1241
 
1242
+
1149
1243
  - Narrowed `APIProvider` to the two values `getAPIProvider()` can actually
1150
1244
  return, `'foundry' | 'ollama'`, and let the compiler find every dead branch.
1151
1245
  It surfaced 66 errors across 25 files; all are now resolved and the
@@ -1172,6 +1266,7 @@
1172
1266
 
1173
1267
  ## 1.54.1
1174
1268
 
1269
+
1175
1270
  - Fixed `/speak`, `/computer`, `/memory-suggest`, `/import-session` and
1176
1271
  `/permission-profile` being unreachable from the shell. They were registered
1177
1272
  as slash commands but never wired into the Commander tree in `main.tsx`, so
@@ -1187,6 +1282,7 @@
1187
1282
 
1188
1283
  ## 1.54.0
1189
1284
 
1285
+
1190
1286
  - Wired the 1.53.0 capability libraries into runnable commands. They were
1191
1287
  verified modules but nothing invoked them; these are the execution paths.
1192
1288
  - Added `/speak <text>` (alias `/say`), which drives the platform speech
@@ -1206,6 +1302,7 @@
1206
1302
 
1207
1303
  ## 1.53.0
1208
1304
 
1305
+
1209
1306
  - Added automatic memory extraction (`src/memdir/extractFacts.ts`). Durable
1210
1307
  preferences and project conventions are proposed from user messages, deduped
1211
1308
  against stored memory by normalized key and containment, and ranked by
@@ -1236,6 +1333,7 @@
1236
1333
 
1237
1334
  ## 1.52.0
1238
1335
 
1336
+
1239
1337
  - Implemented Ollama Cloud authentication. The Ollama client sent no
1240
1338
  `Authorization` header at all, so the hosted API was unreachable: local
1241
1339
  sessions only worked because the signed-in daemon proxies `:cloud` models on
@@ -1256,6 +1354,7 @@
1256
1354
 
1257
1355
  ## 1.51.0
1258
1356
 
1357
+
1259
1358
  - Added named permission profiles. `settings.permissions.profiles` holds named
1260
1359
  rule sets (allow/deny/ask plus a description) and
1261
1360
  `settings.permissions.activeProfile` selects one; its rules are appended to
@@ -1274,6 +1373,7 @@
1274
1373
 
1275
1374
  ## 1.50.6
1276
1375
 
1376
+
1277
1377
  - Implemented `--effort` on Ollama. The support predicate compared
1278
1378
  `getAPIProvider()` against `'firstParty'` — a value it can never return — so
1279
1379
  the advertised flag was silently dropped everywhere. Effort is now advertised
@@ -1309,6 +1409,7 @@
1309
1409
 
1310
1410
  ## 1.50.5
1311
1411
 
1412
+
1312
1413
  - Added `.github/workflows/release.yml`. The repository had only a test
1313
1414
  workflow, so tags never became production releases: 18 tags existed with no
1314
1415
  GitHub Release and no automated publish. Pushing a `v*` tag now runs the full
@@ -1323,6 +1424,7 @@
1323
1424
 
1324
1425
  ## 1.50.4
1325
1426
 
1427
+
1326
1428
  - Removed the `/install-github-app` command and its GitHub App setup flow,
1327
1429
  along with the startup tip suggesting `@ur` be tagged from issues and pull
1328
1430
  requests. The composite action at the repository root is removed with it.
@@ -1333,6 +1435,7 @@
1333
1435
 
1334
1436
  ## 1.50.3
1335
1437
 
1438
+
1336
1439
  - Removed the GitHub App installation step from `/install-github-app`. UR
1337
1440
  authenticates in CI with the workflow's built-in `GITHUB_TOKEN` and a
1338
1441
  repository secret, so there is no app to install and no bot identity to
@@ -1348,6 +1451,7 @@
1348
1451
 
1349
1452
  ## 1.50.2
1350
1453
 
1454
+
1351
1455
  - Fixed local-provider sessions showing "Not logged in · Run /login" with no
1352
1456
  account to log in to, introduced in 1.50.1. Credential ownership and URHQ
1353
1457
  auth applicability are separate questions: an Ollama session uses the user's
@@ -1362,6 +1466,7 @@
1362
1466
 
1363
1467
  ## 1.50.1
1364
1468
 
1469
+
1365
1470
  - Fixed an always-true provider test that silently disabled a large part of the
1366
1471
  command surface. `isUsing3PServices()` was derived from `getAPIProvider()`,
1367
1472
  a request-shaping enum that never returns `'firstParty'`, so the comparison
@@ -1380,6 +1485,7 @@
1380
1485
 
1381
1486
  ## 1.50.0
1382
1487
 
1488
+
1383
1489
  - Completed `/install-github-app` so `@ur <task>` works from GitHub. The
1384
1490
  mention now triggers on issue comments, pull-request comments, inline review
1385
1491
  comments, submitted reviews, and new issues; `/ur` remains accepted. Matching
@@ -1412,6 +1518,7 @@
1412
1518
 
1413
1519
  ## 1.49.0
1414
1520
 
1521
+
1415
1522
  - Added cryptographically signed A2A Agent Cards: RFC 7515 detached JWS over
1416
1523
  the RFC 8785 canonical form of the card, using Ed25519 (`alg: "EdDSA"`).
1417
1524
  Verification recomputes the payload with `signatures` excluded, so a card can
@@ -1428,6 +1535,7 @@
1428
1535
 
1429
1536
  ## 1.48.0
1430
1537
 
1538
+
1431
1539
  - Added managed cloud fan-out with durable, idempotent steering, owner-scoped
1432
1540
  mobile/A2A control, explicit PASS plus safe-branch selection, and
1433
1541
  cancellation-safe task transitions.
@@ -1446,6 +1554,7 @@
1446
1554
 
1447
1555
  ## 1.47.1
1448
1556
 
1557
+
1449
1558
  - Hardened file downloads, filesystem permission checks, and signed skill
1450
1559
  trees against traversal and chained-symlink escapes.
1451
1560
  - Fixed task-memory integrity validation, prompt-plan file locking and change
@@ -1459,6 +1568,7 @@
1459
1568
 
1460
1569
  ## 1.47.0
1461
1570
 
1571
+
1462
1572
  - Added a secure, opt-in AG-UI HTTP/SSE adapter with official schema/encoder
1463
1573
  integration, truthful capability discovery, ordered text/tool/state events,
1464
1574
  cancellation, exact CORS, bearer protection for network exposure, resource
@@ -1497,6 +1607,7 @@
1497
1607
 
1498
1608
  ## 1.46.0
1499
1609
 
1610
+
1500
1611
  - Added a stable, official-SDK ACP v1 stdio agent with resumable sessions,
1501
1612
  client MCP transports and additional roots, streamed updates, native
1502
1613
  permission requests, cancellation, and private persisted session identity.
@@ -1528,6 +1639,7 @@
1528
1639
 
1529
1640
  ## 1.45.6
1530
1641
 
1642
+
1531
1643
  - Deduplicated project verification approval so compile/test/lint commands are
1532
1644
  offered at most once per user turn. The approval marker is cleared for the
1533
1645
  next user task, preserving one explicit decision per task.
@@ -1537,6 +1649,7 @@
1537
1649
 
1538
1650
  ## 1.45.5
1539
1651
 
1652
+
1540
1653
  - Bounded Ollama Cloud response-header and streaming phases to 120 seconds by
1541
1654
  default while preserving the five-minute allowance for local Ollama models.
1542
1655
  `API_TIMEOUT_MS` and per-request timeouts still take precedence.
@@ -1552,6 +1665,7 @@
1552
1665
 
1553
1666
  ## 1.45.4
1554
1667
 
1668
+
1555
1669
  - Added mandatory provider-first model selection for the first interactive run
1556
1670
  in every workspace that has no project-local model. The validated provider
1557
1671
  and model pair is saved to `.ur/settings.local.json` before the REPL starts.
@@ -1564,6 +1678,7 @@
1564
1678
 
1565
1679
  ## 1.45.3
1566
1680
 
1681
+
1567
1682
  - Made slash-command resolution deterministic across bundled skills, plugins,
1568
1683
  project skills, workflows, and built-ins. Duplicate canonical tokens are
1569
1684
  rejected by source priority and conflicting aliases are removed; registry
@@ -1584,6 +1699,7 @@
1584
1699
 
1585
1700
  ## 1.45.2
1586
1701
 
1702
+
1587
1703
  Correctness and containment release completing the runtime audit.
1588
1704
 
1589
1705
  - Made sandbox, security-scope, WebFetch, API, browser, database, test-runner,
@@ -1616,6 +1732,7 @@ Correctness and containment release completing the runtime audit.
1616
1732
 
1617
1733
  ## 1.45.1
1618
1734
 
1735
+
1619
1736
  Completes the three partially-delivered 1.45.0 items to 100%.
1620
1737
 
1621
1738
  - Semantic code search is now zero-config: the CodeSearch tool auto-enables
@@ -1632,6 +1749,7 @@ Completes the three partially-delivered 1.45.0 items to 100%.
1632
1749
 
1633
1750
  ## 1.45.0
1634
1751
 
1752
+
1635
1753
  Top-tier feature release — closes the gaps against 2026's leading agents.
1636
1754
 
1637
1755
  - `ur cloud` — detached best-of-N tasks (the local-first codex-cloud
@@ -1676,6 +1794,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1676
1794
 
1677
1795
  ## 1.44.10
1678
1796
 
1797
+
1679
1798
  - Render `AskUserQuestion` permission requests inside a `PermissionDialog` so
1680
1799
  multiple-choice options appear as a bordered dialog box rather than a plain
1681
1800
  list.
@@ -1688,6 +1807,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1688
1807
 
1689
1808
  ## 1.44.9
1690
1809
 
1810
+
1691
1811
  - Fix recurring "String to replace not found in file" Edit errors by adding
1692
1812
  whitespace-tolerant matching (trailing whitespace, tab/space indentation).
1693
1813
  - Fix AskUserQuestion "questions type expected as array" validation errors by
@@ -1695,6 +1815,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1695
1815
 
1696
1816
  ## 1.44.8
1697
1817
 
1818
+
1698
1819
  - Keep auto-memory and automatic learning on by default with explicit opt-outs.
1699
1820
  Automatic learning can now be disabled with `automaticLearningEnabled: false`
1700
1821
  or `UR_CODE_DISABLE_AUTO_LEARNING=1`.
@@ -1705,6 +1826,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1705
1826
 
1706
1827
  ## 1.44.7
1707
1828
 
1829
+
1708
1830
  - Add `autoApprove` permission mode for command/tool approval prompts. It
1709
1831
  auto-approves operations that would otherwise require permission approval,
1710
1832
  while preserving user-input dialogs and explicit denials.
@@ -1712,14 +1834,17 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1712
1834
 
1713
1835
  ## 1.44.6
1714
1836
 
1837
+
1715
1838
  - Internal permission-mode iteration superseded by `1.44.7`.
1716
1839
 
1717
1840
  ## 1.44.5
1718
1841
 
1842
+
1719
1843
  - Internal permission-mode iteration superseded by `1.44.6`.
1720
1844
 
1721
1845
  ## 1.44.4
1722
1846
 
1847
+
1723
1848
  - The agent now learns from every run automatically — no `/learn run` needed.
1724
1849
  ci-loop, arena, escalation, and test-first completions fold their pass/fail
1725
1850
  outcome (per task category and model) into `.ur/learning/stats.json` as a
@@ -1741,6 +1866,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1741
1866
 
1742
1867
  ## 1.44.3
1743
1868
 
1869
+
1744
1870
  - Make thinking visually distinct from answers: thinking blocks are labeled
1745
1871
  "model reasoning to itself — not the answer" (dim italic, left-bordered when
1746
1872
  expanded); answer text carries an accent-colored ⏺ marker.
@@ -1774,6 +1900,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1774
1900
 
1775
1901
  ## 1.44.2
1776
1902
 
1903
+
1777
1904
  - Fix Ollama streamed tool-call accumulation: Ollama streams each completed
1778
1905
  tool call in its own chunk, but the merge logic overwrote call N-1 with
1779
1906
  call N, collapsing multi-call turns (e.g. several `Write` calls scaffolding
@@ -1798,6 +1925,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1798
1925
 
1799
1926
  ## 1.44.1
1800
1927
 
1928
+
1801
1929
  - Fix task board rendering: finished, failed, and skipped tasks now render as
1802
1930
  checked instead of unchecked.
1803
1931
  - Deduplicate consecutive task board emissions and keep final boards clean
@@ -1805,6 +1933,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1805
1933
 
1806
1934
  ## 1.44.0
1807
1935
 
1936
+
1808
1937
  - Add `verifier.askBeforeGates` setting (default `false`). When enabled, UR asks
1809
1938
  via `AskUserQuestion` whether to run project verification commands after a
1810
1939
  task, instead of auto-running tests/typecheck/lint gates. Available in
@@ -1815,6 +1944,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1815
1944
 
1816
1945
  ## 1.43.6
1817
1946
 
1947
+
1818
1948
  - Render output from reasoning models on OpenAI-compatible providers (LM Studio,
1819
1949
  vLLM). The streaming and non-streaming parsers now read `reasoning_content`
1820
1950
  (and `reasoning`) deltas and surface them as thinking blocks. Models that emit
@@ -1823,6 +1953,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1823
1953
 
1824
1954
  ## 1.43.5
1825
1955
 
1956
+
1826
1957
  - Fix model discovery for OpenAI-compatible providers (LM Studio, llama.cpp,
1827
1958
  vLLM) when base_url omits the API version segment. Discovery and `ur provider
1828
1959
  doctor` now also try `/v1/models` when base_url is just `host:port`, so
@@ -1832,6 +1963,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1832
1963
 
1833
1964
  ## 1.43.4
1834
1965
 
1966
+
1835
1967
  - Tolerate hallucinated extra parameters on tool calls: when input validation
1836
1968
  fails only because of unrecognized keys (e.g. `title`/`description` on a
1837
1969
  `Write` call), those keys are stripped and the call is re-validated instead
@@ -1840,6 +1972,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1840
1972
 
1841
1973
  ## 1.43.3
1842
1974
 
1975
+
1843
1976
  - Bias the assistant toward the interactive arrow-key select menu: the
1844
1977
  AskUserQuestion tool guidance now instructs the model to use the selectable
1845
1978
  menu whenever it offers the user a choice, instead of asking a free-form
@@ -1847,6 +1980,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1847
1980
 
1848
1981
  ## 1.43.2
1849
1982
 
1983
+
1850
1984
  - Fix artifact pages hanging blank: diff viewer assets (diff2html,
1851
1985
  highlight.js theme) are now served locally from `/assets` via the new
1852
1986
  `diff2html` dependency instead of render-blocking CDN tags, and the viewer
@@ -1857,6 +1991,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1857
1991
 
1858
1992
  ## 1.43.1
1859
1993
 
1994
+
1860
1995
  - Artifacts page renders diffs VS Code-style: side-by-side/inline views with
1861
1996
  syntax highlighting via diff2html (plain-text fallback when offline). New
1862
1997
  live view `/diff` shows current working-tree changes without manual capture,
@@ -1868,6 +2003,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1868
2003
 
1869
2004
  ## 1.43.0
1870
2005
 
2006
+
1871
2007
  - Add `ur artifacts serve [--port 4180]`: a local web page for artifacts.
1872
2008
  `GET /artifacts/<id>` renders one artifact (status, summary, feedback,
1873
2009
  content), `/` lists all, with `/artifacts/<id>/raw` and `/api/artifacts[/<id>]`
@@ -1875,6 +2011,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1875
2011
 
1876
2012
  ## 1.42.0
1877
2013
 
2014
+
1878
2015
  - Project safety policy no longer hard-blocks commands. Risky or deny-matched
1879
2016
  commands (package installs, destructive git operations, secret access,
1880
2017
  sandbox-required commands when the sandbox is unavailable) now surface as
@@ -1883,6 +2020,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1883
2020
 
1884
2021
  ## 1.41.1
1885
2022
 
2023
+
1886
2024
  - Harden provider tests against stored API keys in the local secure storage.
1887
2025
  - Revert sandbox default to disabled; expose `sandbox.enabled`,
1888
2026
  `sandbox.failIfUnavailable`, and `sandbox.allowUnsandboxedCommands` through
@@ -1890,6 +2028,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1890
2028
 
1891
2029
  ## 1.41.0
1892
2030
 
2031
+
1893
2032
  - Persist the model chosen through the interactive `/model` picker to settings
1894
2033
  and clear saved model state when `/model default` is used.
1895
2034
  - Enable the sandbox by default when no explicit `sandbox.enabled` setting is
@@ -1897,6 +2036,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1897
2036
 
1898
2037
  ## 1.40.1
1899
2038
 
2039
+
1900
2040
  - Pin `diff` to ^7 and OpenTelemetry packages to 2.6.1/0.214.0 to match the
1901
2041
  source API, fixing type errors from accidental dependency bumps, and rebuild
1902
2042
  the shipped bundle against these versions.
@@ -1904,11 +2044,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1904
2044
 
1905
2045
  ## 1.40.0
1906
2046
 
2047
+
1907
2048
  - Version bump: align package, build macro, VS Code extension, docs eyebrow, and
1908
2049
  changelog for the 1.40.0 release.
1909
2050
 
1910
2051
  ## 1.37.5
1911
2052
 
2053
+
1912
2054
  - Version bump: align package, build macro, VS Code extension, docs eyebrow, and
1913
2055
  changelog for the 1.37.5 patch release.
1914
2056
  - Rename user-facing product/package branding to UR-Nexus while preserving the
@@ -1929,11 +2071,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1929
2071
 
1930
2072
  ## 1.37.3
1931
2073
 
2074
+
1932
2075
  - Version bump: align package, build macro, VS Code extension, docs eyebrow, and
1933
2076
  changelog for the 1.37.3 patch release.
1934
2077
 
1935
2078
  ## 1.37.2
1936
2079
 
2080
+
1937
2081
  - Tightened provider reliability: API-provider calls now use a finite default
1938
2082
  timeout, consistent retry handling for transient network/provider failures,
1939
2083
  and safer OpenAI-compatible base URL normalization without changing streaming,
@@ -1955,6 +2099,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1955
2099
 
1956
2100
  ## 1.35.1
1957
2101
 
2102
+
1958
2103
  - Polished the bundled VS Code inline-diffs view with native toolbar icons,
1959
2104
  useful empty-state rows, clearer diff labels, and a cleaner review webview.
1960
2105
  - Fixed `ur ide status` routing so the IDE extension status action reports
@@ -1964,6 +2109,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1964
2109
 
1965
2110
  ## 1.35.0
1966
2111
 
2112
+
1967
2113
  - New `ur connect` CLI command (same implementation as the `/connect` slash
1968
2114
  command): `ur connect status`, `ur connect <provider>`,
1969
2115
  `ur connect <provider> --key <KEY>`, and `ur connect logout <provider>`.
@@ -1988,6 +2134,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1988
2134
 
1989
2135
  ## 1.34.0
1990
2136
 
2137
+
1991
2138
  - Restore the 1.30.3 subscription approach: Codex CLI, Claude Code, Gemini CLI
1992
2139
  and Antigravity are first-class in `/model` again — shown by default and
1993
2140
  usable directly (no `UR_ENABLE_EXTERNAL_APP_PROVIDERS` opt-in and no runtime
@@ -1999,6 +2146,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
1999
2146
 
2000
2147
  ## 1.33.0
2001
2148
 
2149
+
2002
2150
  - Add API keys from inside UR while it is running: in `/model`, selecting an
2003
2151
  API provider (OpenAI, Anthropic, Gemini, OpenRouter) that isn't connected now
2004
2152
  shows a masked key-entry step. The key is stored in the OS keychain, then the
@@ -2009,6 +2157,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2009
2157
 
2010
2158
  ## 1.32.0
2011
2159
 
2160
+
2012
2161
  - `/model` now shows the subscription providers (Codex CLI, Claude Code, Gemini
2013
2162
  CLI, Antigravity) again. They are enabled the moment you `ur connect` them
2014
2163
  (persisted per-account opt-in) — no `UR_ENABLE_EXTERNAL_APP_PROVIDERS` env var
@@ -2024,6 +2173,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2024
2173
 
2025
2174
  ## 1.31.0
2026
2175
 
2176
+
2027
2177
  - Add in-app provider connection: `ur connect` / `/connect` connects a provider
2028
2178
  once and persists it. Subscription providers (Codex, Claude Code, Gemini,
2029
2179
  Antigravity) launch their official CLI login using your own account; API
@@ -2040,6 +2190,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2040
2190
 
2041
2191
  ## 1.30.6
2042
2192
 
2193
+
2043
2194
  - Restore a visible `subscription` access entry in provider lists without
2044
2195
  exposing provider app bridges as normal runtimes.
2045
2196
  - Keep subscription selection honest: no fake UR model IDs are listed, and the
@@ -2048,6 +2199,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2048
2199
 
2049
2200
  ## 1.30.5
2050
2201
 
2202
+
2051
2203
  - Hide external app bridge providers from normal `/model`, `/provider`, and
2052
2204
  `ur provider list` output. The default provider UX now shows only UR-native
2053
2205
  API, local, and OpenAI-compatible server runtimes.
@@ -2057,6 +2209,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2057
2209
 
2058
2210
  ## 1.30.4
2059
2211
 
2212
+
2060
2213
  - Make the default provider runtime independent of provider apps. Codex CLI,
2061
2214
  Claude Code, Gemini CLI, and Antigravity are now treated as explicit external
2062
2215
  app bridges and are blocked from normal `/model`, config save, and runtime
@@ -2067,6 +2220,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2067
2220
 
2068
2221
  ## 1.30.3
2069
2222
 
2223
+
2070
2224
  - Fix Codex CLI dispatch for real interactive terminals by inheriting terminal
2071
2225
  stdin for `codex exec`. Codex treats both `/dev/null` and closed pipes as
2072
2226
  piped stdin, so the previous `1.30.2` EOF approach still triggered
@@ -2074,6 +2228,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2074
2228
 
2075
2229
  ## 1.30.2
2076
2230
 
2231
+
2077
2232
  - Fix Codex subscription dispatch failing with `exited 1 ... Reading additional
2078
2233
  input from stdin`. `codex exec` reads stdin even when the prompt is an
2079
2234
  argument; UR now gives it a closed, empty stdin pipe (EOF) instead of
@@ -2082,6 +2237,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2082
2237
 
2083
2238
  ## 1.30.1
2084
2239
 
2240
+
2085
2241
  - Fix Codex CLI runtime dispatch by ignoring stdin when UR already passes the
2086
2242
  prompt as a command argument. This prevents `codex exec` from treating UR's
2087
2243
  closed pipe as extra stdin and exiting after `Reading additional input from
@@ -2089,6 +2245,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2089
2245
 
2090
2246
  ## 1.30.0
2091
2247
 
2248
+
2092
2249
  - IDE integration commands: `ur ide status`, `ur ide doctor`, and `ur ide config
2093
2250
  <editor>` for VS Code, Cursor, Windsurf, Zed, JetBrains, Neovim, and generic
2094
2251
  ACP clients. Status shows workspace, ACP server, provider/model, plugin count,
@@ -2109,6 +2266,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2109
2266
 
2110
2267
  ## 1.29.1
2111
2268
 
2269
+
2112
2270
  - Replace fabricated Claude Code and Gemini CLI static model names with
2113
2271
  provider-scoped CLI model aliases/names that the official CLIs can receive.
2114
2272
  - Reject stale subscription CLI selections such as `claude-code/sonnet-5` before
@@ -2118,6 +2276,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2118
2276
 
2119
2277
  ## 1.29.0
2120
2278
 
2279
+
2121
2280
  - Customer release consolidating the multi-provider selection and runtime
2122
2281
  dispatch work (1.27.5–1.28.1) into a single production line.
2123
2282
  - System-prompt identity now reflects the selected provider and runtime backend
@@ -2129,6 +2288,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2129
2288
 
2130
2289
  ## 1.28.1
2131
2290
 
2291
+
2132
2292
  - Keep the status bar synchronized with in-session provider/model changes from
2133
2293
  `/model`, `/model <model>`, and `/provider`, instead of waiting for persisted
2134
2294
  settings to reload.
@@ -2137,6 +2297,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2137
2297
 
2138
2298
  ## 1.28.0
2139
2299
 
2300
+
2140
2301
  - Subscription CLI providers (Codex, Claude Code, Gemini, Antigravity) now
2141
2302
  perform real dispatch: the official CLI is spawned in non-interactive mode with
2142
2303
  the scoped model and prompt, and its stdout becomes the response. Non-zero exit
@@ -2158,6 +2319,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2158
2319
 
2159
2320
  ## 1.27.6
2160
2321
 
2322
+
2161
2323
  - Route runtime requests through the selected provider/model pair instead of
2162
2324
  allowing stale Ollama/default-provider paths to handle non-Ollama requests.
2163
2325
  - Add runtime dispatch validation, backend labels, and focused mocked dispatch
@@ -2167,6 +2329,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2167
2329
 
2168
2330
  ## 1.27.5
2169
2331
 
2332
+
2170
2333
  - Make `/model` provider-first and provider-scoped, with clear subscription,
2171
2334
  API-key, local runtime, and OpenAI-compatible server labels.
2172
2335
  - Keep model discovery, validation, fallback, and saved config scoped to the
@@ -2177,6 +2340,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2177
2340
 
2178
2341
  ## 1.25.3
2179
2342
 
2343
+
2180
2344
  - Add provider alias resolution so `ur config set provider claude`,
2181
2345
  `ur config set provider "Claude Code"`, and `ur provider doctor agy`
2182
2346
  resolve to canonical provider IDs.
@@ -2185,6 +2349,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2185
2349
 
2186
2350
  ## 1.25.2
2187
2351
 
2352
+
2188
2353
  - Refresh public documentation so README, docs, static site, validation runbook,
2189
2354
  and code inventory all describe the current UR-Nexus feature set.
2190
2355
  - Document the recent provider auth, status bar, bundled VS Code extension,
@@ -2195,17 +2360,20 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2195
2360
 
2196
2361
  ## 1.25.1
2197
2362
 
2363
+
2198
2364
  - Fix VS Code extension installation to use the bundled UR-Nexus inline-diffs extension instead of the stale unpublished `urhq.ur` marketplace ID.
2199
2365
  - Harden AskUserQuestion normalization for description-only option objects and keep the eight-option schema in the production bundle.
2200
2366
 
2201
2367
  ## 1.25.0
2202
2368
 
2369
+
2203
2370
  - Add legal multi-provider auth/provider management for subscription CLI, API-key, and local runtime access paths.
2204
2371
  - Add provider doctor/status/config commands, provider-aware status bar display, and explicit no-token-scraping safety policy.
2205
2372
  - Relax plan-mode clarification choices so professional redesign prompts do not fail when more than four options are supplied.
2206
2373
 
2207
2374
  ## 1.24.0
2208
2375
 
2376
+
2209
2377
  ### Added
2210
2378
  - Plugin marketplace capability metadata for MCP tools, executable skills,
2211
2379
  templates, validators, language adapters, LSP servers, hooks, agents, and
@@ -2224,11 +2392,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2224
2392
 
2225
2393
  ## 1.23.3
2226
2394
 
2395
+
2227
2396
  ### Fixed
2228
2397
  - `repoIndex` tests failing in CI because `listIndexableFiles` silently returned `[]` when ripgrep (`rg`) was unavailable. Added a Node.js recursive file walker fallback that applies the same extension and skip-segment filters.
2229
2398
 
2230
2399
  ## 1.23.2
2231
2400
 
2401
+
2232
2402
  ### Added
2233
2403
  - **CI failure diagnostics** in `.github/workflows/test.yml`: environment-info step, verbose test reporter, captured `test-output.log`, and artifact upload on failure so the production test runner exposes which test fails without requiring admin log access.
2234
2404
 
@@ -2237,6 +2407,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2237
2407
 
2238
2408
  ## 1.23.1
2239
2409
 
2410
+
2240
2411
  ### Added
2241
2412
  - **CI agent (`ur ci-loop`)** with agent constitution: hard rules against hiding failures, deleting without approval, editing generated/vendor files, claiming tests passed without execution, and changing public API without warning.
2242
2413
  - **Plugin marketplace extensibility** for `templates`, `validators`, and `languageAdapters` alongside existing MCP tools and skills.
@@ -2246,6 +2417,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2246
2417
 
2247
2418
  ## 1.22.8
2248
2419
 
2420
+
2249
2421
  ### Added
2250
2422
  -
2251
2423
 
@@ -2257,6 +2429,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2257
2429
 
2258
2430
  ## 1.22.7
2259
2431
 
2432
+
2260
2433
  ### Added
2261
2434
  - **Benchmark mode (`ur eval`).**
2262
2435
  - `ur eval run <suite> [--model <m>] [--metrics]` runs eval suites with explicit model overrides and per-case metrics files.
@@ -2301,6 +2474,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2301
2474
 
2302
2475
  ## 1.22.6
2303
2476
 
2477
+
2304
2478
  ### Fixed
2305
2479
  - Fixed Bash tool runtime execution failing every command with
2306
2480
  `timeoutMs is not defined` by keeping the command hook timeout value in scope
@@ -2316,6 +2490,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2316
2490
 
2317
2491
  ## 1.22.5
2318
2492
 
2493
+
2319
2494
  ### Added
2320
2495
  - **Real sandbox core architecture (`ur sandbox`).** New first-class command to inspect sandbox status, run dependency checks, initialize `.ur/safety-policy.json`, and evaluate shell-command approval levels.
2321
2496
  - **Worktree-per-task (`ur task`).** New command surface to start, run, list, and hand off agent tasks in isolated git branches/worktrees: `task start <name> [--worktree]`, `task run <id>`, `task pr <id> [--create]`, `task list`, `task status <id>`.
@@ -2331,6 +2506,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2331
2506
 
2332
2507
  ## 1.22.4
2333
2508
 
2509
+
2334
2510
  ### Added
2335
2511
  - **AST-aware `ur repo-edit` (P7).** Added
2336
2512
  `src/services/repoEditing/ast/types.ts`,
@@ -2370,6 +2546,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2370
2546
 
2371
2547
  ## 1.22.3
2372
2548
 
2549
+
2373
2550
  ### Added
2374
2551
  - **Executable skill directories.** A `.ur/skills/<name>/` directory containing
2375
2552
  `skill.yaml` is now an executable skill that compiles into a `WorkflowSpec`.
@@ -2400,6 +2577,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2400
2577
 
2401
2578
  ## 1.22.2
2402
2579
 
2580
+
2403
2581
  ### Added
2404
2582
  - **Lifecycle hooks.** Added six new hook events in `src/entrypoints/sdk/coreTypes.ts`
2405
2583
  and `src/entrypoints/sdk/coreSchemas.ts`: `BeforeEdit`, `AfterEdit`,
@@ -2426,6 +2604,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2426
2604
 
2427
2605
  ## 1.22.1
2428
2606
 
2607
+
2429
2608
  ### Added
2430
2609
  - **Rich task decomposition.** `src/services/agents/decomposer.ts` splits large
2431
2610
  goals into atomic subtasks with `goal`, `filesTouched`, `risk` (low/medium/high),
@@ -2458,6 +2637,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2458
2637
 
2459
2638
  ## 1.22.0
2460
2639
 
2640
+
2461
2641
  ### Added
2462
2642
  - **Agent execution metrics in `ur eval`.** `ur eval run` now captures
2463
2643
  cost, input/output tokens, model used, API duration, files changed,
@@ -2521,6 +2701,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2521
2701
 
2522
2702
  ## 1.21.0
2523
2703
 
2704
+
2524
2705
  ### Added
2525
2706
  - **Agent skill runner (`agentSkillRunner.ts`).** Reusable helper that wraps
2526
2707
  `startBackgroundTask({ worktree: true, pr: true })`, polls the background
@@ -2550,6 +2731,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2550
2731
 
2551
2732
  ## 1.20.0
2552
2733
 
2734
+
2553
2735
  ### Added
2554
2736
  - **ACP server (`ur acp`).** Added an HTTP+JSON-RPC Agent Communication
2555
2737
  Protocol server for IDE extensions. Supports `initialize`, `tools/list`,
@@ -2585,6 +2767,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2585
2767
 
2586
2768
  ## 1.19.0
2587
2769
 
2770
+
2588
2771
  ### Added
2589
2772
  - **Permission and safety policy (`ur safety`).** Added a project shell safety
2590
2773
  evaluator that separates read, write, execute, and network command classes;
@@ -2612,6 +2795,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2612
2795
 
2613
2796
  ## 1.18.0
2614
2797
 
2798
+
2615
2799
  ### Added
2616
2800
  - **Test-first execution loop (`ur test-first`).** Added a P0 quality loop that
2617
2801
  detects the project stack, orders compile/test/lint commands, runs them as
@@ -2636,6 +2820,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2636
2820
 
2637
2821
  ## 1.17.0
2638
2822
 
2823
+
2639
2824
  ### Added
2640
2825
  - **Reliable repo editing (`ur repo-edit`).** Added a P0 repo-editing workflow
2641
2826
  with dependency-free file/symbol indexing, indexed search, AST-aware
@@ -2652,6 +2837,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2652
2837
 
2653
2838
  ## 1.16.0
2654
2839
 
2840
+
2655
2841
  ### Added
2656
2842
  - **Network Ollama discovery.** `ur --discover-ollama` scans active local subnets
2657
2843
  for Ollama servers on port 11434, verifies each via `/api/tags`, and shows an
@@ -2674,6 +2860,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2674
2860
 
2675
2861
  ## 1.15.0
2676
2862
 
2863
+
2677
2864
  ### Changed
2678
2865
  - **Version bump.** Updated from 1.14.0 to 1.15.0 across `package.json`, `bunfig.toml`, and bundled CLI.
2679
2866
 
@@ -2682,6 +2869,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2682
2869
 
2683
2870
  ## 1.14.1
2684
2871
 
2872
+
2685
2873
  ### Changed
2686
2874
  - Removed the `desktop-app` startup tip pointing to the legacy desktop URL.
2687
2875
 
@@ -2690,6 +2878,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2690
2878
 
2691
2879
  ## 1.14.0
2692
2880
 
2881
+
2693
2882
  ### Changed
2694
2883
  - **Version bump.** Updated from 1.13.9 to 1.14.0 across `package.json`, `bunfig.toml`, and bundled CLI.
2695
2884
 
@@ -2698,6 +2887,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2698
2887
 
2699
2888
  ## 1.13.9
2700
2889
 
2890
+
2701
2891
  ### Added
2702
2892
  - **Spec-driven development (`ur spec`).** Scaffolds `requirements.md ->
2703
2893
  design.md -> tasks.md` plus a phase/approval `spec.json` under `.ur/specs/`,
@@ -2733,6 +2923,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2733
2923
 
2734
2924
  ## 1.13.8
2735
2925
 
2926
+
2736
2927
  ### Fixed
2737
2928
  - **Image paste resize fallback.** Clipboard image paste now falls back to
2738
2929
  macOS `sips` when the normal Sharp/native resize path cannot process an
@@ -2748,6 +2939,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2748
2939
 
2749
2940
  ## 1.13.7
2750
2941
 
2942
+
2751
2943
  ### Added
2752
2944
  - **Explicit update notice.** Interactive sessions now show
2753
2945
  `Update available: <current> -> <latest>` when a newer published package is
@@ -2764,6 +2956,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2764
2956
 
2765
2957
  ## 1.13.6
2766
2958
 
2959
+
2767
2960
  ### Added
2768
2961
  - **Professional static documentation site.** Added `documentation/` with a
2769
2962
  full HTML/CSS/JS documentation project covering installation, architecture,
@@ -2778,6 +2971,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2778
2971
 
2779
2972
  ## 1.13.5
2780
2973
 
2974
+
2781
2975
  ### Added
2782
2976
  - **Headless agent crews.** Added `ur crew` for lead/worker task boards that
2783
2977
  split a goal into subtasks, let worker subagents claim work, and support
@@ -2802,6 +2996,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2802
2996
 
2803
2997
  ## 1.13.4
2804
2998
 
2999
+
2805
3000
  ### Added
2806
3001
  - **Parallel workflow execution.** The declarative workflow executor now runs
2807
3002
  independent ready steps concurrently. `ur workflow run --concurrency <n>`
@@ -2834,6 +3029,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2834
3029
 
2835
3030
  ## 1.13.3
2836
3031
 
3032
+
2837
3033
  ### Added
2838
3034
  - **Checkpointed agent workflows.** Added `ur workflow` for declaring,
2839
3035
  validating, graphing, planning, resuming, and dry-running multi-step agent
@@ -2858,6 +3054,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2858
3054
 
2859
3055
  ## 1.13.2
2860
3056
 
3057
+
2861
3058
  ### Added
2862
3059
  - **Top-level code-index and role-mode commands.** `ur code-index` and
2863
3060
  `ur role-mode` are now registered in the main CLI, matching the shipped
@@ -2880,6 +3077,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2880
3077
 
2881
3078
  ## 1.13.1
2882
3079
 
3080
+
2883
3081
  ### Added
2884
3082
  - **AGENTS.md as runtime context.** UR now loads `AGENTS.md` (the cross-tool
2885
3083
  standard) from project roots at runtime, alongside `UR.md` and `.ur/rules/`.
@@ -2913,6 +3111,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2913
3111
 
2914
3112
  ## 1.12.3
2915
3113
 
3114
+
2916
3115
  ### Added
2917
3116
  - **Agent feature expansion commands.** Added `ur agent-features`,
2918
3117
  `ur agent-templates`, `ur automation`, `ur agent-task`, `ur model-doctor`,
@@ -2941,6 +3140,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2941
3140
 
2942
3141
  ## 1.12.2
2943
3142
 
3143
+
2944
3144
  ### Changed
2945
3145
  - **Ziggurat of Ur spinner.** Replaced the canoe spinner with the Ziggurat of
2946
3146
  Ur catching light: an up-pyramid whose lit face sweeps across (`△ ◭ ▲ ◮`)
@@ -2952,6 +3152,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2952
3152
 
2953
3153
  ## 1.12.1
2954
3154
 
3155
+
2955
3156
  ### Changed
2956
3157
  - **Mashoof spinner.** The activity spinner is now a Mashoof (مشحوف) — the
2957
3158
  marsh canoe — bobbing on the water. It cycles boat-hull arcs (`⌣ ⏝ ‿`) into
@@ -2960,6 +3161,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2960
3161
 
2961
3162
  ## 1.12.0
2962
3163
 
3164
+
2963
3165
  ### Added
2964
3166
  - **Agent trend coverage.** New `ur agent-trends` CLI command and
2965
3167
  `/agent-trends` slash command report how UR maps to current agent trends:
@@ -2979,6 +3181,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2979
3181
 
2980
3182
  ## 1.11.3
2981
3183
 
3184
+
2982
3185
  ### Changed
2983
3186
  - **Read-only web browsing.** `WebSearch` and `WebFetch` now run without
2984
3187
  prompting by default, while still respecting explicit deny or ask rules.
@@ -2987,6 +3190,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2987
3190
 
2988
3191
  ## 1.11.2
2989
3192
 
3193
+
2990
3194
  ### Fixed
2991
3195
  - **Clarification dialogs.** `AskUserQuestion` is now loaded without a
2992
3196
  `ToolSearch` round trip and accepts common question text aliases such as
@@ -2995,6 +3199,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
2995
3199
 
2996
3200
  ## 1.11.1
2997
3201
 
3202
+
2998
3203
  ### Changed
2999
3204
  - **Npm publication docs.** README installation guidance now reflects that
3000
3205
  `ur-nexus` is published on npm, while keeping the GitHub install path for
@@ -3002,6 +3207,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
3002
3207
 
3003
3208
  ## 1.11.0
3004
3209
 
3210
+
3005
3211
  ### Changed
3006
3212
  - **Ollama model selection now lets routing work by default.** The launcher no
3007
3213
  longer forces `OLLAMA_MODEL` when neither `OLLAMA_MODEL` nor `UR_MODEL` is
@@ -3032,11 +3238,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
3032
3238
 
3033
3239
  ## 1.10.2
3034
3240
 
3241
+
3035
3242
  ### Fixed
3036
3243
  - **Clipboard image paste — the fix that actually ships.** The 1.10.1 change edited the native NSPasteboard branch, which is dead-code-eliminated from the bundle (its feature gate compiles out), so it never ran. The live path is osascript, whose `saveImage` reused a fixed temp file (`ur_cli_latest_screenshot.png`) opened `with write permission` but never truncated — so a smaller image pasted over a previously larger one kept the old trailing bytes, producing a corrupt PNG ("found in clipboard but not attached"). Added `set eof fp to 0` to truncate before writing.
3037
3244
 
3038
3245
  ## 1.10.1
3039
3246
 
3247
+
3040
3248
  ### Fixed
3041
3249
  - **Clipboard image paste.** An image the clipboard reported as present but the native reader couldn't decode was silently dropped — "found in clipboard but not attached." `getImageFromClipboard` now falls back to the osascript path instead of treating a native `null` as authoritative.
3042
3250
  - **Token truncation on Ollama Cloud models.** Cloud models (the `-cloud` / `:cloud` suffix) now default to a 128K-token context floor for both `num_ctx` and auto-compaction, instead of the small or missing value `/api/show` reports for them — so prompts are no longer silently truncated, with no env vars required. The reported value is still used when it is larger, and `UR_OLLAMA_NUM_CTX` (no longer capped to the detected value) / `OLLAMA_CONTEXT_TOKENS` still override.
@@ -3047,6 +3255,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
3047
3255
 
3048
3256
  ## 1.10.0
3049
3257
 
3258
+
3050
3259
  ### Added
3051
3260
  - **`skill-forge` plugin** in the `ur-plugins-official` marketplace — have the agent author skills for you. `/forge-skill <description>` runs on the active session model: it designs the skill (name, `when_to_use` triggers, arguments, minimal `allowed-tools`, inline vs fork, and steps that each carry a success criterion), shows the `SKILL.md` for a single confirmation, then saves it to `~/.ur/skills/<name>/` (or `./.ur/skills/` with `--project`) without clobbering an existing one. `/skill-refine <name> : <change>` improves an existing skill, and a bundled `skill-authoring` skill encodes the conventions. Complements the built-in `/create-skill`, which only scaffolds an empty template.
3052
3261
 
@@ -3055,6 +3264,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
3055
3264
 
3056
3265
  ## 1.9.0
3057
3266
 
3267
+
3058
3268
  ### Added
3059
3269
  - **Seven first-party integration plugins** in the `ur-plugins-official` marketplace. Each bundles an official MCP server, curated slash commands, and a methodology skill, and falls back to a CLI or local library so the commands still work before any token is configured:
3060
3270
  - **`obsidian`** — operate a vault as a second brain: `/second-brain`, `/daily-note`, `/moc`, `/backlinks`, `/vault-search`. Direct vault file edits or the Obsidian Local REST API MCP server, plus a Zettelkasten/PARA/MOC skill.
@@ -3071,6 +3281,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
3071
3281
 
3072
3282
  ## 1.8.0
3073
3283
 
3284
+
3074
3285
  ### Added
3075
3286
  - **`/create-skill` command.** Scaffold a new skill without leaving the REPL: `/create-skill <name> [: <description>] [--project]` writes a ready-to-edit `SKILL.md` (with frontmatter) to `~/.ur/skills/<name>/` — or `.ur/skills/` with `--project` — refuses to clobber an existing skill, and clears caches so it shows up immediately (alias `/new-skill`).
3076
3287
  - **Game Designer mode.** A new built-in output style (`/output-style`) that makes UR reason like a game designer — core loops, player fantasy, game feel, and tunable balance constants — while it writes working code.
@@ -3081,6 +3292,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
3081
3292
 
3082
3293
  ## 1.7.0
3083
3294
 
3295
+
3084
3296
  ### Added
3085
3297
  - **Adaptive model routing (Ollama).** The agent auto-selects the best installed model per tier — the strongest coder model for the main loop, the smallest fast model for light internal work (titles, classification, session search, hooks). Honors `OLLAMA_MODEL` / `OLLAMA_SMALL_FAST_MODEL`; gated by `UR_OLLAMA_AUTO_ROUTE`.
3086
3298
  - **Per-model context auto-tuning.** Each request sets `num_ctx` from the model's real context window and the prompt size (floored at 32K for agent work, bucketed so the KV cache stays warm), fixing silent truncation at Ollama's 4096 default. Override with `UR_OLLAMA_NUM_CTX`.
@@ -3092,6 +3304,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
3092
3304
 
3093
3305
  ## 1.6.0
3094
3306
 
3307
+
3095
3308
  ### Added
3096
3309
  - **Proactive clarification & planning prompts.** The agent now uses the `AskUserQuestion` multiple-choice popup before significant or ambiguous work and at key planning decisions. Options are navigated with arrow keys and submitted; the last "Other" entry always lets you type a custom answer.
3097
3310
  - **Smarter prompt handling.** New always-on guidance makes the agent resolve ambiguity before acting, work in verifiable steps and check each step's output against the request before continuing, verify work actually runs before reporting done, report outcomes faithfully, and keep changes precisely scoped and professional.