@nail00749/agent-gvozd 0.1.8 → 0.2.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/README.md CHANGED
@@ -2,7 +2,33 @@
2
2
 
3
3
  Gvozd installs one permission-aware agent team globally, so every OpenCode
4
4
  project can use it without copying plugin or agent files into the repository.
5
- Release `0.1.5` targets OpenCode V2 `2.0.2` exactly.
5
+ Release `0.2.0` targets OpenCode V2 `2.0.*` — any 2.0.x patch release.
6
+
7
+ ## What is new in 0.2.0
8
+
9
+ - **File-lease verification for writers**: Back Fast, Back Deep, Front Fast,
10
+ and Front Deep hold the read-only toolchain shell baseline (tests, builds,
11
+ typecheck, lint) and verify their own changes while their lease is active;
12
+ mutating shell stays denied.
13
+ - **Verifier removed**: writers verify themselves; routing text, permissions,
14
+ and the model profile no longer reference the agent.
15
+ - **TUI plugin** (`./tui` export): a session sidebar section with subagent
16
+ tree, skills, permission history (durable across restarts), and tool
17
+ statistics, plus `/gvozd` (insights), `/gvozd-dryrun` (permission dry run
18
+ per pipeline segment), `/gvozd-leases` (lease snapshot), and `/gvozd-mode`
19
+ (session permission posture).
20
+ - **Permission dry run RPC** (`gvozd-permissions`): evaluates the exact
21
+ effect a ruleset produces for a hypothetical call.
22
+ - **Lease snapshot RPC** (`gvozd-leases`): lists active and reserved leases
23
+ with owners and TTLs.
24
+ - **Session trust modes RPC** (`gvozd-mode`): switch a session between
25
+ balanced, trusted (full shell; destructive Git stays denied), and strict
26
+ postures; child sessions inherit the mode.
27
+ - **`gvozd agents`** CLI: list the resolved team and disable or enable
28
+ built-in agents in the managed global config.
29
+ - **OpenCode `2.0.*` compatibility range** instead of an exact patch pin.
30
+ - **Unconfigured agents may edit while no writer leases are active** instead
31
+ of a hard edit deadlock; parallel writer protection is unchanged.
6
32
 
7
33
  ## Global setup
8
34
 
@@ -27,8 +53,8 @@ OpenCode first if the desired provider is absent from `opencode models`.
27
53
  For a deterministic unattended rerun, use `gvozd setup --yes`. It retains a
28
54
  valid existing profile, or selects the built-in OpenAI preset only when Luna,
29
55
  Sol, and Codex Spark are all available. Setup registers the exact current
30
- release (`@nail00749/agent-gvozd@0.1.2`), not a version range. Rerunning setup
31
- after updating the CLI is the supported v0.1 upgrade path.
56
+ release (`@nail00749/agent-gvozd@0.2.0`), not a version range. Rerunning setup
57
+ after updating the CLI is the supported upgrade path.
32
58
 
33
59
  Inspect an installation at any time:
34
60
 
@@ -47,6 +73,7 @@ Unrelated JSONC fields and comments are preserved. Project overrides under
47
73
  The installed team contains:
48
74
 
49
75
  - `master` — primary coordinator
76
+ - `master-trusted` — Master with full shell access for sessions the user marks as trusted
50
77
  - `planner` — read-only planning subagent
51
78
  - `back-fast` / `back-deep` — fast and deep backend implementation tiers
52
79
  - `front-fast` / `front-deep` — fast and deep frontend implementation tiers
@@ -55,7 +82,6 @@ The installed team contains:
55
82
  - `explorer` — read-only local file and execution-path discovery
56
83
  - `git` — focused Git inspection and explicitly authorized operations
57
84
  - `docs` — documentation, examples, and migration notes
58
- - `verifier` — independent build, runtime, and manual scenario verification
59
85
  - `debugger` — read-only root-cause investigation
60
86
  - `security` — read-only security and trust-boundary review
61
87
  - `devops` — CI, Docker, infrastructure, deployment, and release configuration
@@ -232,6 +258,35 @@ same-UID process that deliberately races the final validated component, or a
232
258
  non-cooperating process that performs a final rename between validation and
233
259
  mutation, remains outside this cooperative setup threat model.
234
260
 
261
+ ## Permission modes
262
+
263
+ Switch a session's permission posture without changing agents. In the TUI run
264
+ `/gvozd-mode` and pick a posture:
265
+
266
+ - `balanced` — the default; unknown shell commands and edits ask.
267
+ - `trusted` — all shell and edits allowed; destructive Git (push --force,
268
+ reset --hard, clean, rebase, filter-branch/filter-repo, checkout --,
269
+ restore) stays denied, and writer-lease pauses still apply.
270
+ - `strict` — every shell command and edit asks.
271
+
272
+ Modes apply through session-scoped rules that evaluate after agent rules, and
273
+ child sessions inherit the mode in effect when they are created. For a
274
+ persistent per-session agent, switch to the `master-trusted` primary agent
275
+ (Tab in the TUI): it holds full shell access under the same lease protocol.
276
+
277
+ The permissions sidebar section shows pending requests, answered requests
278
+ (durable across TUI restarts), and the saved `always` approvals. Run
279
+ `/gvozd-dryrun` to evaluate a hypothetical command — including compound
280
+ pipelines, segment by segment — against the resolved ruleset.
281
+
282
+ ## Managing the team
283
+
284
+ `gvozd agents` lists the resolved team with mode, lease role, and model.
285
+ `gvozd agents disable <id>` and `gvozd agents enable <id>` toggle a built-in
286
+ agent in the managed global config; rerun `gvozd sync` and `gvozd doctor` to
287
+ apply. Disabled agents disappear from the runtime, the generated files, and
288
+ doctor checks.
289
+
235
290
  ## Cooperative file leases
236
291
 
237
292
  Writer agents coordinate exact project files before editing them. The default
@@ -242,8 +297,11 @@ roles are:
242
297
  - planning, exploration, review, research, Git, verification, debugging, and
243
298
  security agents: `readonly`
244
299
 
245
- Custom agents default to `readonly`. Set `fileLease` explicitly when a custom
246
- agent must write:
300
+ Custom agents default to `readonly`. Agents with no configured lease role
301
+ participate as outsiders: they may edit files while no writer leases are
302
+ active — the normal single-agent case — and pause during parallel writer work.
303
+ They cannot join the coordination protocol itself; set `fileLease` explicitly
304
+ when a custom agent must write:
247
305
 
248
306
  ```jsonc
249
307
  {
@@ -347,7 +405,6 @@ Gvozd's tool-level permissions apply.
347
405
  | `explorer` | GitNexus exploration | GitNexus read-only |
348
406
  | `git` | none | GitLab reads; mutations ask; CI variables denied |
349
407
  | `docs` | none | Context7 |
350
- | `verifier` | verification before completion | Context7; read-only GitNexus; Playwright interactions ask |
351
408
  | `debugger` | systematic debugging and GitNexus debugging/PDG | Context7; read-only GitNexus; Playwright interactions ask |
352
409
  | `security` | code review and GitNexus taint/PDG | Context7; read-only GitLab/GitNexus; Playwright interactions ask |
353
410
  | `devops` | verification before completion | Context7; GitLab reads and CI validation; mutations ask; CI variables denied |
@@ -380,7 +437,7 @@ Researcher, Git, and Docs prefer `openai/gpt-5.6-luna` with
380
437
  `openai/gpt-5.6-sol` as fallback. Explorer prefers
381
438
  `openai/gpt-5.3-codex-spark` with `openai/gpt-5.6-luna` as fallback. Researcher
382
439
  is restricted to web search and fetch tools; Explorer is restricted to local
383
- glob, grep, and read tools. Git and Verifier allow read-only Git commands and
440
+ glob, grep, and read tools. Git and the other read-only roles allow read-only Git commands and
384
441
  listing forms (status, diff, log, show, rev-parse, ls-files, branch, tag,
385
442
  remote, symbolic-ref HEAD, reflog, worktree list); any form that creates,
386
443
  deletes, renames, or rewrites state requires approval, and destructive
@@ -390,9 +447,9 @@ denied outright. Docs
390
447
  can edit Markdown and files under `docs/`; edits elsewhere require approval,
391
448
  and shell access is denied.
392
449
 
393
- Verifier uses `openai/gpt-5.6-luna` with `openai/gpt-5.6-sol` as fallback.
394
- Debugger, Security, and DevOps use the reverse order. Verifier, Debugger, and
395
- Security are read-only and require approval for shell commands. DevOps can edit
450
+ Debugger, Security, and DevOps use `openai/gpt-5.6-luna` with
451
+ `openai/gpt-5.6-sol` as fallback. Debugger and Security are read-only and
452
+ require approval for shell commands. DevOps can edit
396
453
  common CI, Docker, and infrastructure paths; other edits require approval, shell
397
454
  is denied for the writer role, and every external mutation requires explicit
398
455
  task authorization.