projmux 0.15.3 → 0.16.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-ko.md +3 -4
- package/README.md +3 -3
- package/docs/agent-message-replies.md +82 -2
- package/docs/ai-agent-shortcuts.md +6 -5
- package/docs/architecture.md +134 -57
- package/docs/claude-coordination-endpoints.md +164 -14
- package/docs/cli-guide.md +274 -116
- package/docs/cli.md +645 -563
- package/docs/codex-installed-compatibility.md +6 -11
- package/docs/codex-native-required-migration.md +1 -59
- package/docs/configuration.md +99 -176
- package/docs/globalization.md +11 -1
- package/docs/hooks.md +83 -32
- package/docs/keybindings.md +68 -2
- package/docs/legacy-cli-retirement.md +3 -3
- package/docs/legacy-diagnostics-inventory.md +4 -4
- package/docs/native-picker.md +3 -5
- package/docs/notify-queue.md +1 -1
- package/docs/operational-diagnostics.md +53 -31
- package/docs/pr-guideline.md +66 -22
- package/docs/release.md +97 -0
- package/docs/replacement-contract.md +66 -58
- package/docs/resource-attribution.md +2 -2
- package/docs/session-restore.md +46 -80
- package/docs/settings-ia.md +14 -22
- package/docs/statusbar.md +15 -18
- package/docs/testing.md +15 -0
- package/docs/tmux-surface-inventory.md +8 -10
- package/docs/troubleshooting.md +2 -4
- package/docs/upgrading.md +142 -7
- package/docs/usage-tracking.md +24 -48
- package/package.json +5 -5
- package/docs/agent-workflow.md +0 -2596
- package/docs/codex-generation-pool.md +0 -623
- package/docs/codex-stored-qualification.md +0 -45
package/docs/cli.md
CHANGED
|
@@ -39,7 +39,7 @@ Root parser bridges outside the route graph are censused from their parser token
|
|
|
39
39
|
|
|
40
40
|
Every route declares one allowed-effect record over seven independent resource axes. A pipe separates conditional success outcomes; preflight refusal remains zero-effect. `domain-effect=null` means the route has no typed extension beyond this resource tuple.
|
|
41
41
|
|
|
42
|
-
The machine-readable manifest contains
|
|
42
|
+
The machine-readable manifest contains 194 route-effect records, including hidden plumbing that the public route sections omit.
|
|
43
43
|
|
|
44
44
|
| Axis | Closed vocabulary |
|
|
45
45
|
| --- | --- |
|
|
@@ -63,7 +63,7 @@ projmux <command> [args...]
|
|
|
63
63
|
| [`projmux agent`](#projmux-agent) | canonical | Manage Agent state, messages, waits, capabilities, integrations, and account usage |
|
|
64
64
|
| [`projmux attention`](#projmux-attention) | canonical | View and manage live tmux pane attention state |
|
|
65
65
|
| [`projmux attach`](#projmux-attach) | canonical | Enter a Project runtime from outside tmux |
|
|
66
|
-
| [`projmux config`](#projmux-config) | canonical | Edit AI split-mode settings; render or apply generated tmux configuration |
|
|
66
|
+
| [`projmux config`](#projmux-config) | canonical | Edit AI split-mode and enabled-provider settings; render or apply generated tmux configuration |
|
|
67
67
|
| [`projmux create`](#projmux-create) | canonical | Create Projmux resources |
|
|
68
68
|
| [`projmux delete`](#projmux-delete) | canonical | Delete Projmux resources with an explicit cascade plan |
|
|
69
69
|
| [`projmux describe`](#projmux-describe) | canonical | Describe one Projmux resource |
|
|
@@ -72,16 +72,17 @@ projmux <command> [args...]
|
|
|
72
72
|
| [`projmux focus`](#projmux-focus) | canonical | Move the current client to a live resource |
|
|
73
73
|
| [`projmux get`](#projmux-get) | canonical | Read Projmux resources by selector |
|
|
74
74
|
| [`projmux hook`](#projmux-hook) | canonical | List, edit, validate, and trust lifecycle hook config |
|
|
75
|
+
| [`projmux label`](#projmux-label) | canonical | Set or remove Projmux resource metadata.labels after creation |
|
|
75
76
|
| [`projmux notification`](#projmux-notification) | canonical | Manage pending notification workflow state |
|
|
76
77
|
| [`projmux open`](#projmux-open) | canonical | Open a Project runtime and move the current client to it |
|
|
78
|
+
| [`projmux persona`](#projmux-persona) | canonical | List, show, edit, set, and delete Agent persona files |
|
|
77
79
|
| [`projmux pin`](#projmux-pin) | canonical | Manage pinned project directories |
|
|
78
|
-
| [`projmux prune`](#projmux-prune) | canonical | Prune stale Projects
|
|
80
|
+
| [`projmux prune`](#projmux-prune) | canonical | Prune stale Projects and Agents |
|
|
79
81
|
| [`projmux quit`](#projmux-quit) | shortcut | Quit the app-owned projmux tmux runtime |
|
|
80
82
|
| [`projmux reconcile`](#projmux-reconcile) | canonical | Preview or repair Registry and exact tmux resource drift |
|
|
81
83
|
| [`projmux rebind`](#projmux-rebind) | canonical | Rebind a Project to a new absolute root without moving files |
|
|
82
84
|
| [`projmux rename`](#projmux-rename) | canonical | Rename a Projmux resource metadata.name |
|
|
83
85
|
| [`projmux resources`](#projmux-resources) | shortcut | Inspect live Project, Window, and Pane CPU/RSS attribution |
|
|
84
|
-
| [`projmux restore`](#projmux-restore) | canonical | Project a saved snapshot into one exact closed Project desired state |
|
|
85
86
|
| [`projmux runtime`](#projmux-runtime) | canonical | Manage the live and ephemeral tmux runtime inventory |
|
|
86
87
|
| [`projmux settings`](#projmux-settings) | shortcut | Configure projmux |
|
|
87
88
|
| [`projmux setup`](#projmux-setup) | canonical | Probe terminal keys or remediate them with setup terminal |
|
|
@@ -118,22 +119,23 @@ projmux agent status [get [<agent-ref>] | set <unknown|idle|in_progress|approval
|
|
|
118
119
|
projmux agent topic get|clear [<agent-ref>] [--agent <ref>]
|
|
119
120
|
projmux agent topic set <text> [<agent-ref>] [--agent <ref>]
|
|
120
121
|
projmux agent resume <ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
122
|
+
projmux agent persona attach <agent-ref> <persona> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--yes] [--dry-run] [--socket <name> | --socket-path <absolute>] [-o json]
|
|
123
|
+
projmux agent persona detach <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--yes] [--dry-run] [--socket <name> | --socket-path <absolute>] [-o json]
|
|
121
124
|
projmux agent turn start|steer <agent-ref> -- <text>
|
|
122
125
|
projmux agent turn interrupt <agent-ref>
|
|
123
126
|
projmux agent approval review <agent-ref> [--request <normalized-id>]
|
|
124
127
|
projmux agent review [<agent-ref>] [--agent <ref>] [--base <branch> | --commit <sha> | --instructions <text>]
|
|
125
128
|
projmux agent integrate <codex|claude|antigravity|tmux-bell> [--remove] [--dry-run]
|
|
126
|
-
projmux agent usage [--model <codex|claude|
|
|
127
|
-
projmux agent app-server upgrade qualify --receipt <absolute-json>
|
|
128
|
-
projmux agent app-server upgrade plan|apply --request <absolute-json>
|
|
129
|
-
projmux agent app-server upgrade resume|abort --operation <ref>
|
|
130
|
-
projmux agent app-server handover plan|apply --request <absolute-json>
|
|
131
|
-
projmux agent app-server handover resume|abort --operation <ref>
|
|
129
|
+
projmux agent usage [--model <codex|claude|all>] [--window <name>] [--json] [--force]
|
|
132
130
|
projmux agent capabilities [<agent-ref> | --provider <codex|claude|antigravity>] [-o json]
|
|
133
131
|
projmux agent message send <agent-ref> [--source <agent-ref>] [--message-ref <ref>] [--reply-to <ref>] [--ttl <duration>] -- <text>
|
|
134
132
|
projmux agent message status <message-ref> [-o json]
|
|
135
133
|
projmux agent message qualify <claude-agent-ref> --evidence <absolute-private-json> --confirm-isolated-provider-push -o json
|
|
136
134
|
projmux agent wait <agent-ref> [--until idle] [--timeout <duration>] [-o json]
|
|
135
|
+
projmux agent question enable <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
136
|
+
projmux agent question disable <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
137
|
+
projmux agent question list <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [-o json]
|
|
138
|
+
projmux agent question answer <agent-ref> <question-id> [--option <n>=<label>]... [--index <n>=<k>]... [--text <n>=<text>]... [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
137
139
|
```
|
|
138
140
|
|
|
139
141
|
Subcommands:
|
|
@@ -143,17 +145,18 @@ Subcommands:
|
|
|
143
145
|
| [`projmux agent status`](#projmux-agent-status) | Read or set semantic Agent interaction independently of lifecycle |
|
|
144
146
|
| [`projmux agent topic`](#projmux-agent-topic) | Read, set, or clear one exact Agent topic annotation |
|
|
145
147
|
| [`projmux agent resume`](#projmux-agent-resume) | Rebind an Offline or Failed Agent detached on its Window's exact shell or Agent anchor |
|
|
148
|
+
| [`projmux agent persona`](#projmux-agent-persona) | Attach or detach a persona on one exact Claude Agent and resume it on the same conversation |
|
|
146
149
|
| [`projmux agent turn`](#projmux-agent-turn) | Send, steer, or interrupt one exact native Codex turn |
|
|
147
150
|
| [`projmux agent approval`](#projmux-agent-approval) | Review one exact pending native Codex approval |
|
|
148
151
|
| [`projmux agent review`](#projmux-agent-review) | Start a native review on an exact-bound Codex Agent |
|
|
149
152
|
| [`projmux agent integrate`](#projmux-agent-integrate) | Install, remove, or preview provider hooks and tmux-bell integration |
|
|
150
153
|
| [`projmux agent usage`](#projmux-agent-usage) | Read provider account usage quota snapshots |
|
|
151
|
-
| [`projmux agent app-server`](#projmux-agent-app-server) | Manage explicitly requested private Codex app-server generation operations |
|
|
152
154
|
| [`projmux agent capabilities`](#projmux-agent-capabilities) | Read static provider support or one exact Agent's Registry-backed runtime eligibility |
|
|
153
155
|
| [`projmux agent message`](#projmux-agent-message) | Exchange bounded untrusted coordination messages; --source selects a source Agent anchor, not caller authentication (default: active Pane) |
|
|
154
156
|
| [`projmux agent wait`](#projmux-agent-wait) | Wait read-only for one exact Agent's Registry-backed idle observation |
|
|
157
|
+
| [`projmux agent question`](#projmux-agent-question) | Answer one exact opted-in Claude Agent's AskUserQuestion prompts from the command line |
|
|
155
158
|
|
|
156
|
-
Canonical spelling: `projmux agent status`, `projmux agent topic`, `projmux agent resume`, `projmux agent
|
|
159
|
+
Canonical spelling: `projmux agent status`, `projmux agent topic`, `projmux agent resume`, `projmux agent persona attach`, `projmux agent persona detach`, `projmux agent turn start`, `projmux agent turn steer`, `projmux agent turn interrupt`, `projmux agent approval review`, `projmux agent review`, `projmux agent integrate`, `projmux agent usage`, `projmux agent capabilities`, `projmux agent message send`, `projmux agent message status`, `projmux agent message qualify`, `projmux agent wait`, `projmux agent question enable`, `projmux agent question disable`, `projmux agent question list`, `projmux agent question answer`
|
|
157
160
|
|
|
158
161
|
### `projmux agent status`
|
|
159
162
|
|
|
@@ -219,6 +222,83 @@ Allowed effects:
|
|
|
219
222
|
projmux agent resume <ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--selector key=value]...
|
|
220
223
|
```
|
|
221
224
|
|
|
225
|
+
### `projmux agent persona`
|
|
226
|
+
|
|
227
|
+
Attach or detach a persona on one exact Claude Agent and resume it on the same conversation
|
|
228
|
+
|
|
229
|
+
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
230
|
+
|
|
231
|
+
Allowed effects:
|
|
232
|
+
|
|
233
|
+
- `identity=unchanged`
|
|
234
|
+
- `address=unchanged`
|
|
235
|
+
- `topology=unchanged`
|
|
236
|
+
- `desired-state=unchanged`
|
|
237
|
+
- `runtime=unchanged`
|
|
238
|
+
- `focus=unchanged`
|
|
239
|
+
- `cardinality=exact-one`
|
|
240
|
+
- `domain-effect=null`
|
|
241
|
+
|
|
242
|
+
```
|
|
243
|
+
projmux agent persona attach <agent-ref> <persona> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--yes] [--dry-run] [--socket <name> | --socket-path <absolute>] [-o json]
|
|
244
|
+
projmux agent persona detach <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--yes] [--dry-run] [--socket <name> | --socket-path <absolute>] [-o json]
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Subcommands:
|
|
248
|
+
|
|
249
|
+
| Route | Summary |
|
|
250
|
+
| --- | --- |
|
|
251
|
+
| [`projmux agent persona attach`](#projmux-agent-persona-attach) | Give one exact Claude Agent a persona and restart it on the same conversation |
|
|
252
|
+
| [`projmux agent persona detach`](#projmux-agent-persona-detach) | Take the persona off one exact Claude Agent and restart it on the same conversation |
|
|
253
|
+
|
|
254
|
+
Canonical spelling: `projmux agent persona attach`, `projmux agent persona detach`
|
|
255
|
+
|
|
256
|
+
#### `projmux agent persona attach`
|
|
257
|
+
|
|
258
|
+
Give one exact Claude Agent a persona and restart it on the same conversation
|
|
259
|
+
|
|
260
|
+
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
261
|
+
|
|
262
|
+
Allowed effects:
|
|
263
|
+
|
|
264
|
+
- `identity=unchanged|reused`
|
|
265
|
+
- `address=unchanged`
|
|
266
|
+
- `topology=unchanged|replaced`
|
|
267
|
+
- `desired-state=unchanged|replaced`
|
|
268
|
+
- `runtime=unchanged|materialized`
|
|
269
|
+
- `focus=unchanged`
|
|
270
|
+
- `cardinality=exact-one`
|
|
271
|
+
- `domain-effect=null`
|
|
272
|
+
|
|
273
|
+
```
|
|
274
|
+
projmux agent persona attach <agent-ref> <persona> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--yes] [--dry-run] [--socket <name> | --socket-path <absolute>] [-o json]
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Output modes (`-o`): `json`
|
|
278
|
+
|
|
279
|
+
#### `projmux agent persona detach`
|
|
280
|
+
|
|
281
|
+
Take the persona off one exact Claude Agent and restart it on the same conversation
|
|
282
|
+
|
|
283
|
+
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
284
|
+
|
|
285
|
+
Allowed effects:
|
|
286
|
+
|
|
287
|
+
- `identity=unchanged|reused`
|
|
288
|
+
- `address=unchanged`
|
|
289
|
+
- `topology=unchanged|replaced`
|
|
290
|
+
- `desired-state=unchanged|replaced`
|
|
291
|
+
- `runtime=unchanged|materialized`
|
|
292
|
+
- `focus=unchanged`
|
|
293
|
+
- `cardinality=exact-one`
|
|
294
|
+
- `domain-effect=null`
|
|
295
|
+
|
|
296
|
+
```
|
|
297
|
+
projmux agent persona detach <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--yes] [--dry-run] [--socket <name> | --socket-path <absolute>] [-o json]
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
Output modes (`-o`): `json`
|
|
301
|
+
|
|
222
302
|
### `projmux agent turn`
|
|
223
303
|
|
|
224
304
|
Send, steer, or interrupt one exact native Codex turn
|
|
@@ -424,14 +504,14 @@ Allowed effects:
|
|
|
424
504
|
- `domain-effect=null`
|
|
425
505
|
|
|
426
506
|
```
|
|
427
|
-
projmux agent usage [--model <codex|claude|
|
|
507
|
+
projmux agent usage [--model <codex|claude|all>] [--window <name>] [--json] [--force]
|
|
428
508
|
```
|
|
429
509
|
|
|
430
|
-
### `projmux agent
|
|
510
|
+
### `projmux agent capabilities`
|
|
431
511
|
|
|
432
|
-
|
|
512
|
+
Read static provider support or one exact Agent's Registry-backed runtime eligibility
|
|
433
513
|
|
|
434
|
-
Selectorless authority: `
|
|
514
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
435
515
|
|
|
436
516
|
Allowed effects:
|
|
437
517
|
|
|
@@ -441,25 +521,18 @@ Allowed effects:
|
|
|
441
521
|
- `desired-state=unchanged`
|
|
442
522
|
- `runtime=unchanged`
|
|
443
523
|
- `focus=unchanged`
|
|
444
|
-
- `cardinality=
|
|
524
|
+
- `cardinality=exact-one`
|
|
445
525
|
- `domain-effect=null`
|
|
446
526
|
|
|
447
527
|
```
|
|
448
|
-
projmux agent
|
|
528
|
+
projmux agent capabilities [<agent-ref> | --provider <codex|claude|antigravity>] [-o json]
|
|
449
529
|
```
|
|
450
530
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
| Route | Summary |
|
|
454
|
-
| --- | --- |
|
|
455
|
-
| [`projmux agent app-server upgrade`](#projmux-agent-app-server-upgrade) | Plan, apply, resume, or abort one exact rolling generation operation |
|
|
456
|
-
| [`projmux agent app-server handover`](#projmux-agent-app-server-handover) | Plan, apply, resume, or abort one exact generation-wide handover |
|
|
457
|
-
|
|
458
|
-
Canonical spelling: `projmux agent app-server upgrade qualify`, `projmux agent app-server upgrade plan`, `projmux agent app-server upgrade apply`, `projmux agent app-server upgrade resume`, `projmux agent app-server upgrade abort`, `projmux agent app-server handover plan`, `projmux agent app-server handover apply`, `projmux agent app-server handover resume`, `projmux agent app-server handover abort`
|
|
531
|
+
Output modes (`-o`): `json`
|
|
459
532
|
|
|
460
|
-
|
|
533
|
+
### `projmux agent message`
|
|
461
534
|
|
|
462
|
-
|
|
535
|
+
Exchange bounded untrusted coordination messages; --source selects a source Agent anchor, not caller authentication (default: active Pane)
|
|
463
536
|
|
|
464
537
|
Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
|
|
465
538
|
|
|
@@ -471,28 +544,28 @@ Allowed effects:
|
|
|
471
544
|
- `desired-state=unchanged`
|
|
472
545
|
- `runtime=unchanged`
|
|
473
546
|
- `focus=unchanged`
|
|
474
|
-
- `cardinality=
|
|
475
|
-
- `domain-effect=
|
|
547
|
+
- `cardinality=exact-one`
|
|
548
|
+
- `domain-effect=agent-delivery`
|
|
476
549
|
|
|
477
550
|
```
|
|
478
|
-
projmux agent
|
|
551
|
+
projmux agent message send <agent-ref> [--source <agent-ref>] [--message-ref <ref>] [--reply-to <ref>] [--ttl <duration>] -- <text>
|
|
552
|
+
projmux agent message status <message-ref> [-o json]
|
|
553
|
+
projmux agent message qualify <claude-agent-ref> --evidence <absolute-private-json> --confirm-isolated-provider-push -o json
|
|
479
554
|
```
|
|
480
555
|
|
|
481
556
|
Subcommands:
|
|
482
557
|
|
|
483
558
|
| Route | Summary |
|
|
484
559
|
| --- | --- |
|
|
485
|
-
| [`projmux agent
|
|
486
|
-
| [`projmux agent
|
|
487
|
-
| [`projmux agent
|
|
488
|
-
| [`projmux agent app-server upgrade resume`](#projmux-agent-app-server-upgrade-resume) | Resume one exact durable rolling generation operation |
|
|
489
|
-
| [`projmux agent app-server upgrade abort`](#projmux-agent-app-server-upgrade-abort) | Abort one pre-admission operation and clean only its exact candidate |
|
|
560
|
+
| [`projmux agent message send`](#projmux-agent-message-send) | Submit bounded peer coordination; --source selects a source Agent anchor, not caller authentication (default: active Pane); exits nonzero after printing a failed, refused, expired, or stale receipt |
|
|
561
|
+
| [`projmux agent message status`](#projmux-agent-message-status) | Read a payload-free broker delivery receipt |
|
|
562
|
+
| [`projmux agent message qualify`](#projmux-agent-message-qualify) | Explicitly qualify one exact Claude target using owned current-version isolation evidence and one marker push |
|
|
490
563
|
|
|
491
|
-
Canonical spelling: `projmux agent
|
|
564
|
+
Canonical spelling: `projmux agent message send`, `projmux agent message status`, `projmux agent message qualify`
|
|
492
565
|
|
|
493
|
-
|
|
566
|
+
#### `projmux agent message send`
|
|
494
567
|
|
|
495
|
-
|
|
568
|
+
Submit bounded peer coordination; --source selects a source Agent anchor, not caller authentication (default: active Pane); exits nonzero after printing a failed, refused, expired, or stale receipt
|
|
496
569
|
|
|
497
570
|
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
498
571
|
|
|
@@ -504,16 +577,16 @@ Allowed effects:
|
|
|
504
577
|
- `desired-state=unchanged`
|
|
505
578
|
- `runtime=unchanged`
|
|
506
579
|
- `focus=unchanged`
|
|
507
|
-
- `cardinality=
|
|
508
|
-
- `domain-effect=
|
|
580
|
+
- `cardinality=exact-one`
|
|
581
|
+
- `domain-effect=agent-delivery`
|
|
509
582
|
|
|
510
583
|
```
|
|
511
|
-
projmux agent
|
|
584
|
+
projmux agent message send <agent-ref> [--source <agent-ref>] [--message-ref <ref>] [--reply-to <ref>] [--ttl <duration>] -- <text>
|
|
512
585
|
```
|
|
513
586
|
|
|
514
|
-
|
|
587
|
+
#### `projmux agent message status`
|
|
515
588
|
|
|
516
|
-
Read
|
|
589
|
+
Read a payload-free broker delivery receipt
|
|
517
590
|
|
|
518
591
|
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
519
592
|
|
|
@@ -526,36 +599,17 @@ Allowed effects:
|
|
|
526
599
|
- `runtime=unchanged`
|
|
527
600
|
- `focus=unchanged`
|
|
528
601
|
- `cardinality=unchanged`
|
|
529
|
-
- `domain-effect=
|
|
602
|
+
- `domain-effect=agent-delivery`
|
|
530
603
|
|
|
531
604
|
```
|
|
532
|
-
projmux agent
|
|
605
|
+
projmux agent message status <message-ref> [-o json]
|
|
533
606
|
```
|
|
534
607
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
Apply one exact crash-resumable private generation admission switch
|
|
538
|
-
|
|
539
|
-
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
540
|
-
|
|
541
|
-
Allowed effects:
|
|
542
|
-
|
|
543
|
-
- `identity=unchanged`
|
|
544
|
-
- `address=unchanged`
|
|
545
|
-
- `topology=unchanged`
|
|
546
|
-
- `desired-state=unchanged`
|
|
547
|
-
- `runtime=unchanged`
|
|
548
|
-
- `focus=unchanged`
|
|
549
|
-
- `cardinality=unchanged`
|
|
550
|
-
- `domain-effect=null`
|
|
551
|
-
|
|
552
|
-
```
|
|
553
|
-
projmux agent app-server upgrade apply --request <absolute-json>
|
|
554
|
-
```
|
|
608
|
+
Output modes (`-o`): `json`
|
|
555
609
|
|
|
556
|
-
|
|
610
|
+
#### `projmux agent message qualify`
|
|
557
611
|
|
|
558
|
-
|
|
612
|
+
Explicitly qualify one exact Claude target using owned current-version isolation evidence and one marker push
|
|
559
613
|
|
|
560
614
|
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
561
615
|
|
|
@@ -567,16 +621,18 @@ Allowed effects:
|
|
|
567
621
|
- `desired-state=unchanged`
|
|
568
622
|
- `runtime=unchanged`
|
|
569
623
|
- `focus=unchanged`
|
|
570
|
-
- `cardinality=
|
|
571
|
-
- `domain-effect=
|
|
624
|
+
- `cardinality=exact-one`
|
|
625
|
+
- `domain-effect=agent-delivery`
|
|
572
626
|
|
|
573
627
|
```
|
|
574
|
-
projmux agent
|
|
628
|
+
projmux agent message qualify <claude-agent-ref> --evidence <absolute-private-json> --confirm-isolated-provider-push -o json
|
|
575
629
|
```
|
|
576
630
|
|
|
577
|
-
|
|
631
|
+
Output modes (`-o`): `json`
|
|
632
|
+
|
|
633
|
+
### `projmux agent wait`
|
|
578
634
|
|
|
579
|
-
|
|
635
|
+
Wait read-only for one exact Agent's Registry-backed idle observation
|
|
580
636
|
|
|
581
637
|
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
582
638
|
|
|
@@ -588,18 +644,20 @@ Allowed effects:
|
|
|
588
644
|
- `desired-state=unchanged`
|
|
589
645
|
- `runtime=unchanged`
|
|
590
646
|
- `focus=unchanged`
|
|
591
|
-
- `cardinality=
|
|
647
|
+
- `cardinality=exact-one`
|
|
592
648
|
- `domain-effect=null`
|
|
593
649
|
|
|
594
650
|
```
|
|
595
|
-
projmux agent
|
|
651
|
+
projmux agent wait <agent-ref> [--until idle] [--timeout <duration>] [-o json]
|
|
596
652
|
```
|
|
597
653
|
|
|
598
|
-
|
|
654
|
+
Output modes (`-o`): `json`
|
|
599
655
|
|
|
600
|
-
|
|
656
|
+
### `projmux agent question`
|
|
601
657
|
|
|
602
|
-
|
|
658
|
+
Answer one exact opted-in Claude Agent's AskUserQuestion prompts from the command line
|
|
659
|
+
|
|
660
|
+
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
603
661
|
|
|
604
662
|
Allowed effects:
|
|
605
663
|
|
|
@@ -609,27 +667,30 @@ Allowed effects:
|
|
|
609
667
|
- `desired-state=unchanged`
|
|
610
668
|
- `runtime=unchanged`
|
|
611
669
|
- `focus=unchanged`
|
|
612
|
-
- `cardinality=
|
|
670
|
+
- `cardinality=exact-one`
|
|
613
671
|
- `domain-effect=null`
|
|
614
672
|
|
|
615
673
|
```
|
|
616
|
-
projmux agent
|
|
674
|
+
projmux agent question enable <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
675
|
+
projmux agent question disable <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
676
|
+
projmux agent question list <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [-o json]
|
|
677
|
+
projmux agent question answer <agent-ref> <question-id> [--option <n>=<label>]... [--index <n>=<k>]... [--text <n>=<text>]... [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
617
678
|
```
|
|
618
679
|
|
|
619
680
|
Subcommands:
|
|
620
681
|
|
|
621
682
|
| Route | Summary |
|
|
622
683
|
| --- | --- |
|
|
623
|
-
| [`projmux agent
|
|
624
|
-
| [`projmux agent
|
|
625
|
-
| [`projmux agent
|
|
626
|
-
| [`projmux agent
|
|
684
|
+
| [`projmux agent question enable`](#projmux-agent-question-enable) | Opt one exact Claude Agent into answering its AskUserQuestion prompts from the command line |
|
|
685
|
+
| [`projmux agent question disable`](#projmux-agent-question-disable) | Opt one exact Claude Agent out and hand its waiting questions back to its own prompt |
|
|
686
|
+
| [`projmux agent question list`](#projmux-agent-question-list) | List one exact Claude Agent's waiting and recent questions |
|
|
687
|
+
| [`projmux agent question answer`](#projmux-agent-question-answer) | Answer one waiting question by option label, option number, or explicit free text |
|
|
627
688
|
|
|
628
|
-
Canonical spelling: `projmux agent
|
|
689
|
+
Canonical spelling: `projmux agent question enable`, `projmux agent question disable`, `projmux agent question list`, `projmux agent question answer`
|
|
629
690
|
|
|
630
|
-
|
|
691
|
+
#### `projmux agent question enable`
|
|
631
692
|
|
|
632
|
-
|
|
693
|
+
Opt one exact Claude Agent into answering its AskUserQuestion prompts from the command line
|
|
633
694
|
|
|
634
695
|
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
635
696
|
|
|
@@ -641,16 +702,16 @@ Allowed effects:
|
|
|
641
702
|
- `desired-state=unchanged`
|
|
642
703
|
- `runtime=unchanged`
|
|
643
704
|
- `focus=unchanged`
|
|
644
|
-
- `cardinality=
|
|
705
|
+
- `cardinality=exact-one`
|
|
645
706
|
- `domain-effect=null`
|
|
646
707
|
|
|
647
708
|
```
|
|
648
|
-
projmux agent
|
|
709
|
+
projmux agent question enable <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
649
710
|
```
|
|
650
711
|
|
|
651
|
-
|
|
712
|
+
#### `projmux agent question disable`
|
|
652
713
|
|
|
653
|
-
|
|
714
|
+
Opt one exact Claude Agent out and hand its waiting questions back to its own prompt
|
|
654
715
|
|
|
655
716
|
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
656
717
|
|
|
@@ -662,16 +723,16 @@ Allowed effects:
|
|
|
662
723
|
- `desired-state=unchanged`
|
|
663
724
|
- `runtime=unchanged`
|
|
664
725
|
- `focus=unchanged`
|
|
665
|
-
- `cardinality=
|
|
726
|
+
- `cardinality=exact-one`
|
|
666
727
|
- `domain-effect=null`
|
|
667
728
|
|
|
668
729
|
```
|
|
669
|
-
projmux agent
|
|
730
|
+
projmux agent question disable <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
670
731
|
```
|
|
671
732
|
|
|
672
|
-
|
|
733
|
+
#### `projmux agent question list`
|
|
673
734
|
|
|
674
|
-
|
|
735
|
+
List one exact Claude Agent's waiting and recent questions
|
|
675
736
|
|
|
676
737
|
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
677
738
|
|
|
@@ -683,16 +744,18 @@ Allowed effects:
|
|
|
683
744
|
- `desired-state=unchanged`
|
|
684
745
|
- `runtime=unchanged`
|
|
685
746
|
- `focus=unchanged`
|
|
686
|
-
- `cardinality=
|
|
747
|
+
- `cardinality=exact-one`
|
|
687
748
|
- `domain-effect=null`
|
|
688
749
|
|
|
689
750
|
```
|
|
690
|
-
projmux agent
|
|
751
|
+
projmux agent question list <agent-ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [-o json]
|
|
691
752
|
```
|
|
692
753
|
|
|
693
|
-
|
|
754
|
+
Output modes (`-o`): `json`
|
|
755
|
+
|
|
756
|
+
#### `projmux agent question answer`
|
|
694
757
|
|
|
695
|
-
|
|
758
|
+
Answer one waiting question by option label, option number, or explicit free text
|
|
696
759
|
|
|
697
760
|
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
698
761
|
|
|
@@ -704,18 +767,18 @@ Allowed effects:
|
|
|
704
767
|
- `desired-state=unchanged`
|
|
705
768
|
- `runtime=unchanged`
|
|
706
769
|
- `focus=unchanged`
|
|
707
|
-
- `cardinality=
|
|
770
|
+
- `cardinality=exact-one`
|
|
708
771
|
- `domain-effect=null`
|
|
709
772
|
|
|
710
773
|
```
|
|
711
|
-
projmux agent
|
|
774
|
+
projmux agent question answer <agent-ref> <question-id> [--option <n>=<label>]... [--index <n>=<k>]... [--text <n>=<text>]... [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
712
775
|
```
|
|
713
776
|
|
|
714
|
-
|
|
777
|
+
## `projmux attention`
|
|
715
778
|
|
|
716
|
-
|
|
779
|
+
View and manage live tmux pane attention state
|
|
717
780
|
|
|
718
|
-
Selectorless authority: `
|
|
781
|
+
Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
|
|
719
782
|
|
|
720
783
|
Allowed effects:
|
|
721
784
|
|
|
@@ -725,20 +788,30 @@ Allowed effects:
|
|
|
725
788
|
- `desired-state=unchanged`
|
|
726
789
|
- `runtime=unchanged`
|
|
727
790
|
- `focus=unchanged`
|
|
728
|
-
- `cardinality=
|
|
791
|
+
- `cardinality=unchanged`
|
|
729
792
|
- `domain-effect=null`
|
|
730
793
|
|
|
731
794
|
```
|
|
732
|
-
projmux
|
|
795
|
+
projmux attention toggle|clear|arm|list|window
|
|
733
796
|
```
|
|
734
797
|
|
|
735
|
-
|
|
798
|
+
Subcommands:
|
|
736
799
|
|
|
737
|
-
|
|
800
|
+
| Route | Summary |
|
|
801
|
+
| --- | --- |
|
|
802
|
+
| [`projmux attention toggle`](#projmux-attention-toggle) | Toggle attention state for a pane |
|
|
803
|
+
| [`projmux attention clear`](#projmux-attention-clear) | Clear attention state for a pane |
|
|
804
|
+
| [`projmux attention arm`](#projmux-attention-arm) | Arm focus-only attention consumption |
|
|
805
|
+
| [`projmux attention list`](#projmux-attention-list) | List live pane attention state |
|
|
806
|
+
| [`projmux attention window`](#projmux-attention-window) | Render window-scoped attention badges |
|
|
738
807
|
|
|
739
|
-
|
|
808
|
+
Canonical spelling: `projmux attention list`, `projmux attention toggle`, `projmux attention clear`, `projmux attention arm`, `projmux attention window`
|
|
740
809
|
|
|
741
|
-
|
|
810
|
+
### `projmux attention toggle`
|
|
811
|
+
|
|
812
|
+
Toggle attention state for a pane
|
|
813
|
+
|
|
814
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
742
815
|
|
|
743
816
|
Allowed effects:
|
|
744
817
|
|
|
@@ -749,29 +822,17 @@ Allowed effects:
|
|
|
749
822
|
- `runtime=unchanged`
|
|
750
823
|
- `focus=unchanged`
|
|
751
824
|
- `cardinality=exact-one`
|
|
752
|
-
- `domain-effect=
|
|
825
|
+
- `domain-effect=null`
|
|
753
826
|
|
|
754
827
|
```
|
|
755
|
-
projmux
|
|
756
|
-
projmux agent message status <message-ref> [-o json]
|
|
757
|
-
projmux agent message qualify <claude-agent-ref> --evidence <absolute-private-json> --confirm-isolated-provider-push -o json
|
|
828
|
+
projmux attention toggle [pane]
|
|
758
829
|
```
|
|
759
830
|
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
| Route | Summary |
|
|
763
|
-
| --- | --- |
|
|
764
|
-
| [`projmux agent message send`](#projmux-agent-message-send) | Submit bounded peer coordination; --source selects a source Agent anchor, not caller authentication (default: active Pane); exits nonzero after printing a failed, refused, expired, or stale receipt |
|
|
765
|
-
| [`projmux agent message status`](#projmux-agent-message-status) | Read a payload-free broker delivery receipt |
|
|
766
|
-
| [`projmux agent message qualify`](#projmux-agent-message-qualify) | Explicitly qualify one exact Claude target using owned current-version isolation evidence and one marker push |
|
|
767
|
-
|
|
768
|
-
Canonical spelling: `projmux agent message send`, `projmux agent message status`, `projmux agent message qualify`
|
|
769
|
-
|
|
770
|
-
#### `projmux agent message send`
|
|
831
|
+
### `projmux attention clear`
|
|
771
832
|
|
|
772
|
-
|
|
833
|
+
Clear attention state for a pane
|
|
773
834
|
|
|
774
|
-
Selectorless authority: `
|
|
835
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
775
836
|
|
|
776
837
|
Allowed effects:
|
|
777
838
|
|
|
@@ -782,17 +843,17 @@ Allowed effects:
|
|
|
782
843
|
- `runtime=unchanged`
|
|
783
844
|
- `focus=unchanged`
|
|
784
845
|
- `cardinality=exact-one`
|
|
785
|
-
- `domain-effect=
|
|
846
|
+
- `domain-effect=null`
|
|
786
847
|
|
|
787
848
|
```
|
|
788
|
-
projmux
|
|
849
|
+
projmux attention clear [pane]
|
|
789
850
|
```
|
|
790
851
|
|
|
791
|
-
|
|
852
|
+
### `projmux attention arm`
|
|
792
853
|
|
|
793
|
-
|
|
854
|
+
Arm focus-only attention consumption
|
|
794
855
|
|
|
795
|
-
Selectorless authority: `
|
|
856
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
796
857
|
|
|
797
858
|
Allowed effects:
|
|
798
859
|
|
|
@@ -802,20 +863,18 @@ Allowed effects:
|
|
|
802
863
|
- `desired-state=unchanged`
|
|
803
864
|
- `runtime=unchanged`
|
|
804
865
|
- `focus=unchanged`
|
|
805
|
-
- `cardinality=
|
|
806
|
-
- `domain-effect=
|
|
866
|
+
- `cardinality=exact-one`
|
|
867
|
+
- `domain-effect=null`
|
|
807
868
|
|
|
808
869
|
```
|
|
809
|
-
projmux
|
|
870
|
+
projmux attention arm [pane]
|
|
810
871
|
```
|
|
811
872
|
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
#### `projmux agent message qualify`
|
|
873
|
+
### `projmux attention list`
|
|
815
874
|
|
|
816
|
-
|
|
875
|
+
List live pane attention state
|
|
817
876
|
|
|
818
|
-
Selectorless authority: `
|
|
877
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
819
878
|
|
|
820
879
|
Allowed effects:
|
|
821
880
|
|
|
@@ -825,20 +884,18 @@ Allowed effects:
|
|
|
825
884
|
- `desired-state=unchanged`
|
|
826
885
|
- `runtime=unchanged`
|
|
827
886
|
- `focus=unchanged`
|
|
828
|
-
- `cardinality=
|
|
829
|
-
- `domain-effect=
|
|
887
|
+
- `cardinality=zero-or-more`
|
|
888
|
+
- `domain-effect=null`
|
|
830
889
|
|
|
831
890
|
```
|
|
832
|
-
projmux
|
|
891
|
+
projmux attention list
|
|
833
892
|
```
|
|
834
893
|
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
### `projmux agent wait`
|
|
894
|
+
### `projmux attention window`
|
|
838
895
|
|
|
839
|
-
|
|
896
|
+
Render window-scoped attention badges
|
|
840
897
|
|
|
841
|
-
Selectorless authority: `
|
|
898
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
842
899
|
|
|
843
900
|
Allowed effects:
|
|
844
901
|
|
|
@@ -848,18 +905,16 @@ Allowed effects:
|
|
|
848
905
|
- `desired-state=unchanged`
|
|
849
906
|
- `runtime=unchanged`
|
|
850
907
|
- `focus=unchanged`
|
|
851
|
-
- `cardinality=
|
|
908
|
+
- `cardinality=zero-or-more`
|
|
852
909
|
- `domain-effect=null`
|
|
853
910
|
|
|
854
911
|
```
|
|
855
|
-
projmux
|
|
912
|
+
projmux attention window
|
|
856
913
|
```
|
|
857
914
|
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
## `projmux attention`
|
|
915
|
+
## `projmux attach`
|
|
861
916
|
|
|
862
|
-
|
|
917
|
+
Enter a Project runtime from outside tmux
|
|
863
918
|
|
|
864
919
|
Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
|
|
865
920
|
|
|
@@ -875,68 +930,22 @@ Allowed effects:
|
|
|
875
930
|
- `domain-effect=null`
|
|
876
931
|
|
|
877
932
|
```
|
|
878
|
-
projmux
|
|
933
|
+
projmux attach project <ref>
|
|
879
934
|
```
|
|
880
935
|
|
|
881
936
|
Subcommands:
|
|
882
937
|
|
|
883
938
|
| Route | Summary |
|
|
884
939
|
| --- | --- |
|
|
885
|
-
| [`projmux
|
|
886
|
-
| [`projmux attention clear`](#projmux-attention-clear) | Clear attention state for a pane |
|
|
887
|
-
| [`projmux attention arm`](#projmux-attention-arm) | Arm focus-only attention consumption |
|
|
888
|
-
| [`projmux attention list`](#projmux-attention-list) | List live pane attention state |
|
|
889
|
-
| [`projmux attention window`](#projmux-attention-window) | Render window-scoped attention badges |
|
|
940
|
+
| [`projmux attach project`](#projmux-attach-project) | Enter a Project runtime from outside tmux, materializing it when offline |
|
|
890
941
|
|
|
891
|
-
Canonical spelling: `projmux
|
|
942
|
+
Canonical spelling: `projmux attach project`
|
|
892
943
|
|
|
893
|
-
### `projmux
|
|
944
|
+
### `projmux attach project`
|
|
894
945
|
|
|
895
|
-
|
|
946
|
+
Enter a Project runtime from outside tmux, materializing it when offline
|
|
896
947
|
|
|
897
|
-
Selectorless authority: `
|
|
898
|
-
|
|
899
|
-
Allowed effects:
|
|
900
|
-
|
|
901
|
-
- `identity=unchanged`
|
|
902
|
-
- `address=unchanged`
|
|
903
|
-
- `topology=unchanged`
|
|
904
|
-
- `desired-state=unchanged`
|
|
905
|
-
- `runtime=unchanged`
|
|
906
|
-
- `focus=unchanged`
|
|
907
|
-
- `cardinality=exact-one`
|
|
908
|
-
- `domain-effect=null`
|
|
909
|
-
|
|
910
|
-
```
|
|
911
|
-
projmux attention toggle [pane]
|
|
912
|
-
```
|
|
913
|
-
|
|
914
|
-
### `projmux attention clear`
|
|
915
|
-
|
|
916
|
-
Clear attention state for a pane
|
|
917
|
-
|
|
918
|
-
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
919
|
-
|
|
920
|
-
Allowed effects:
|
|
921
|
-
|
|
922
|
-
- `identity=unchanged`
|
|
923
|
-
- `address=unchanged`
|
|
924
|
-
- `topology=unchanged`
|
|
925
|
-
- `desired-state=unchanged`
|
|
926
|
-
- `runtime=unchanged`
|
|
927
|
-
- `focus=unchanged`
|
|
928
|
-
- `cardinality=exact-one`
|
|
929
|
-
- `domain-effect=null`
|
|
930
|
-
|
|
931
|
-
```
|
|
932
|
-
projmux attention clear [pane]
|
|
933
|
-
```
|
|
934
|
-
|
|
935
|
-
### `projmux attention arm`
|
|
936
|
-
|
|
937
|
-
Arm focus-only attention consumption
|
|
938
|
-
|
|
939
|
-
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
948
|
+
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
940
949
|
|
|
941
950
|
Allowed effects:
|
|
942
951
|
|
|
@@ -944,60 +953,18 @@ Allowed effects:
|
|
|
944
953
|
- `address=unchanged`
|
|
945
954
|
- `topology=unchanged`
|
|
946
955
|
- `desired-state=unchanged`
|
|
947
|
-
- `runtime=
|
|
948
|
-
- `focus=
|
|
956
|
+
- `runtime=materialized|already-live`
|
|
957
|
+
- `focus=attached-caller`
|
|
949
958
|
- `cardinality=exact-one`
|
|
950
959
|
- `domain-effect=null`
|
|
951
960
|
|
|
952
961
|
```
|
|
953
|
-
projmux
|
|
954
|
-
```
|
|
955
|
-
|
|
956
|
-
### `projmux attention list`
|
|
957
|
-
|
|
958
|
-
List live pane attention state
|
|
959
|
-
|
|
960
|
-
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
961
|
-
|
|
962
|
-
Allowed effects:
|
|
963
|
-
|
|
964
|
-
- `identity=unchanged`
|
|
965
|
-
- `address=unchanged`
|
|
966
|
-
- `topology=unchanged`
|
|
967
|
-
- `desired-state=unchanged`
|
|
968
|
-
- `runtime=unchanged`
|
|
969
|
-
- `focus=unchanged`
|
|
970
|
-
- `cardinality=zero-or-more`
|
|
971
|
-
- `domain-effect=null`
|
|
972
|
-
|
|
973
|
-
```
|
|
974
|
-
projmux attention list
|
|
975
|
-
```
|
|
976
|
-
|
|
977
|
-
### `projmux attention window`
|
|
978
|
-
|
|
979
|
-
Render window-scoped attention badges
|
|
980
|
-
|
|
981
|
-
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
982
|
-
|
|
983
|
-
Allowed effects:
|
|
984
|
-
|
|
985
|
-
- `identity=unchanged`
|
|
986
|
-
- `address=unchanged`
|
|
987
|
-
- `topology=unchanged`
|
|
988
|
-
- `desired-state=unchanged`
|
|
989
|
-
- `runtime=unchanged`
|
|
990
|
-
- `focus=unchanged`
|
|
991
|
-
- `cardinality=zero-or-more`
|
|
992
|
-
- `domain-effect=null`
|
|
993
|
-
|
|
994
|
-
```
|
|
995
|
-
projmux attention window
|
|
962
|
+
projmux attach project <ref>
|
|
996
963
|
```
|
|
997
964
|
|
|
998
|
-
## `projmux
|
|
965
|
+
## `projmux config`
|
|
999
966
|
|
|
1000
|
-
|
|
967
|
+
Edit AI split-mode and enabled-provider settings; render or apply generated tmux configuration
|
|
1001
968
|
|
|
1002
969
|
Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
|
|
1003
970
|
|
|
@@ -1013,43 +980,28 @@ Allowed effects:
|
|
|
1013
980
|
- `domain-effect=null`
|
|
1014
981
|
|
|
1015
982
|
```
|
|
1016
|
-
projmux
|
|
983
|
+
projmux config edit [--get|--set <mode>]
|
|
984
|
+
projmux config providers [--enable <id>|--disable <id>]
|
|
985
|
+
projmux config render standalone|app [--bin <path>]
|
|
986
|
+
projmux config apply [--bin <path>] [--config <path>] [--socket <name>]
|
|
1017
987
|
```
|
|
1018
988
|
|
|
1019
989
|
Subcommands:
|
|
1020
990
|
|
|
1021
991
|
| Route | Summary |
|
|
1022
992
|
| --- | --- |
|
|
1023
|
-
| [`projmux
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
### `projmux attach project`
|
|
1028
|
-
|
|
1029
|
-
Enter a Project runtime from outside tmux, materializing it when offline
|
|
1030
|
-
|
|
1031
|
-
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
1032
|
-
|
|
1033
|
-
Allowed effects:
|
|
993
|
+
| [`projmux config edit`](#projmux-config-edit) | Edit the AI split-mode configuration |
|
|
994
|
+
| [`projmux config providers`](#projmux-config-providers) | List AI providers as enabled or disabled; --enable or --disable changes one |
|
|
995
|
+
| [`projmux config render`](#projmux-config-render) | Print a generated tmux config to stdout; writes nothing |
|
|
996
|
+
| [`projmux config apply`](#projmux-config-apply) | Write the generated app tmux config and reload the live projmux server |
|
|
1034
997
|
|
|
1035
|
-
|
|
1036
|
-
- `address=unchanged`
|
|
1037
|
-
- `topology=unchanged`
|
|
1038
|
-
- `desired-state=unchanged`
|
|
1039
|
-
- `runtime=materialized|already-live`
|
|
1040
|
-
- `focus=attached-caller`
|
|
1041
|
-
- `cardinality=exact-one`
|
|
1042
|
-
- `domain-effect=null`
|
|
998
|
+
Canonical spelling: `projmux config edit`, `projmux config providers`, `projmux config render`, `projmux config apply`
|
|
1043
999
|
|
|
1044
|
-
|
|
1045
|
-
projmux attach project <ref>
|
|
1046
|
-
```
|
|
1047
|
-
|
|
1048
|
-
## `projmux config`
|
|
1000
|
+
### `projmux config edit`
|
|
1049
1001
|
|
|
1050
|
-
Edit AI split-mode
|
|
1002
|
+
Edit the AI split-mode configuration
|
|
1051
1003
|
|
|
1052
|
-
Selectorless authority: `
|
|
1004
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
1053
1005
|
|
|
1054
1006
|
Allowed effects:
|
|
1055
1007
|
|
|
@@ -1064,23 +1016,11 @@ Allowed effects:
|
|
|
1064
1016
|
|
|
1065
1017
|
```
|
|
1066
1018
|
projmux config edit [--get|--set <mode>]
|
|
1067
|
-
projmux config render standalone|app [--bin <path>]
|
|
1068
|
-
projmux config apply [--bin <path>] [--config <path>] [--socket <name>]
|
|
1069
1019
|
```
|
|
1070
1020
|
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
| Route | Summary |
|
|
1074
|
-
| --- | --- |
|
|
1075
|
-
| [`projmux config edit`](#projmux-config-edit) | Edit the AI split-mode configuration |
|
|
1076
|
-
| [`projmux config render`](#projmux-config-render) | Print a generated tmux config to stdout; writes nothing |
|
|
1077
|
-
| [`projmux config apply`](#projmux-config-apply) | Write the generated app tmux config and reload the live projmux server |
|
|
1078
|
-
|
|
1079
|
-
Canonical spelling: `projmux config edit`, `projmux config render`, `projmux config apply`
|
|
1021
|
+
### `projmux config providers`
|
|
1080
1022
|
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
Edit the AI split-mode configuration
|
|
1023
|
+
List AI providers as enabled or disabled; --enable or --disable changes one
|
|
1084
1024
|
|
|
1085
1025
|
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
1086
1026
|
|
|
@@ -1096,7 +1036,9 @@ Allowed effects:
|
|
|
1096
1036
|
- `domain-effect=null`
|
|
1097
1037
|
|
|
1098
1038
|
```
|
|
1099
|
-
projmux config
|
|
1039
|
+
projmux config providers
|
|
1040
|
+
projmux config providers --enable <id>
|
|
1041
|
+
projmux config providers --disable <id>
|
|
1100
1042
|
```
|
|
1101
1043
|
|
|
1102
1044
|
### `projmux config render`
|
|
@@ -1214,13 +1156,12 @@ Allowed effects:
|
|
|
1214
1156
|
|
|
1215
1157
|
```
|
|
1216
1158
|
projmux create project --root <absolute-path> [--name <name>] [--label key=value]... [-o <mode>]
|
|
1217
|
-
projmux create window [--project <ref> | -p <ref>] [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
|
|
1159
|
+
projmux create window [--project <ref> | -p <ref>] [--provider shell|<provider>] [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
|
|
1218
1160
|
projmux create pane [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--create-window] [--all-windows | --primary-window] [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1219
|
-
projmux create agent --provider <provider> [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--interactive-only] [--window <ref> | -w <ref>]... [--pane <ref>]... [--create-window] [--all-windows | --primary-window] [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1220
|
-
projmux create codex [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--interactive-only] [--window <ref> | -w <ref>]... [--create-window] [--all-windows | --primary-window] [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1161
|
+
projmux create agent --provider <provider> [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--interactive-only] [--model <model>] [--effort <level>] [--persona <name>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--create-window] [--all-windows | --primary-window] [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1162
|
+
projmux create codex [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--interactive-only] [--persona <name>] [--window <ref> | -w <ref>]... [--create-window] [--all-windows | --primary-window] [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1221
1163
|
projmux create claude|antigravity [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--create-window] [--all-windows | --primary-window] [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1222
1164
|
projmux create notification --text <s> --target <SESSION[:WINDOW[.PANE]]> [--socket <s>]
|
|
1223
|
-
projmux create snapshot
|
|
1224
1165
|
```
|
|
1225
1166
|
|
|
1226
1167
|
Subcommands:
|
|
@@ -1228,11 +1169,10 @@ Subcommands:
|
|
|
1228
1169
|
| Route | Summary |
|
|
1229
1170
|
| --- | --- |
|
|
1230
1171
|
| [`projmux create project`](#projmux-create-project) | Register one exact filesystem path as a Registry Project; no runtime is materialized |
|
|
1231
|
-
| [`projmux create window`](#projmux-create-window) | Create a Window
|
|
1172
|
+
| [`projmux create window`](#projmux-create-window) | Create a Window below one Project, opening on a shell Pane or on one Agent; the runtime is materialized detached |
|
|
1232
1173
|
| [`projmux create pane`](#projmux-create-pane) | Create a shell Pane detached on an explicit Pane or the Window's exact shell or Agent anchor |
|
|
1233
1174
|
| [`projmux create agent`](#projmux-create-agent) | Create an Agent detached on an explicit Pane or the Window's exact shell or Agent anchor; --provider is required |
|
|
1234
1175
|
| [`projmux create notification`](#projmux-create-notification) | Create a pending notification row |
|
|
1235
|
-
| [`projmux create snapshot`](#projmux-create-snapshot) | Create a session snapshot |
|
|
1236
1176
|
|
|
1237
1177
|
Provider shortcuts:
|
|
1238
1178
|
|
|
@@ -1242,7 +1182,7 @@ Provider shortcuts:
|
|
|
1242
1182
|
| [`projmux create claude`](#projmux-create-claude) | Provider shortcut for create agent --provider claude |
|
|
1243
1183
|
| [`projmux create antigravity`](#projmux-create-antigravity) | Provider shortcut for create agent --provider antigravity |
|
|
1244
1184
|
|
|
1245
|
-
Canonical spelling: `projmux create project`, `projmux create window`, `projmux create pane`, `projmux create agent`, `projmux create notification`, `projmux create
|
|
1185
|
+
Canonical spelling: `projmux create project`, `projmux create window`, `projmux create pane`, `projmux create agent`, `projmux create notification`, `projmux create codex`, `projmux create claude`, `projmux create antigravity`
|
|
1246
1186
|
|
|
1247
1187
|
### `projmux create project`
|
|
1248
1188
|
|
|
@@ -1265,11 +1205,15 @@ Allowed effects:
|
|
|
1265
1205
|
projmux create project --root <absolute-path> [--name <name>] [--label key=value]... [-o <mode>]
|
|
1266
1206
|
```
|
|
1267
1207
|
|
|
1208
|
+
Without `--name` a new Project is named after its root directory, sanitized into a valid name (`my repo` becomes `my-repo`). When that basename is empty (the filesystem root) or another Project already holds it, the Project is named by its exact uid instead; no numbered variant is ever invented.
|
|
1209
|
+
|
|
1210
|
+
An explicit `--name` that another Project holds exits 2 with no Registry write. A root that is already registered reuses its Project; an explicit `--name` there must match the stored name.
|
|
1211
|
+
|
|
1268
1212
|
Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`, `receipt`
|
|
1269
1213
|
|
|
1270
1214
|
### `projmux create window`
|
|
1271
1215
|
|
|
1272
|
-
Create a Window
|
|
1216
|
+
Create a Window below one Project, opening on a shell Pane or on one Agent; the runtime is materialized detached
|
|
1273
1217
|
|
|
1274
1218
|
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
1275
1219
|
|
|
@@ -1285,7 +1229,7 @@ Allowed effects:
|
|
|
1285
1229
|
- `domain-effect=null`
|
|
1286
1230
|
|
|
1287
1231
|
```
|
|
1288
|
-
projmux create window [--project <ref> | -p <ref>] [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
|
|
1232
|
+
projmux create window [--project <ref> | -p <ref>] [--provider shell|<provider>] [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
|
|
1289
1233
|
```
|
|
1290
1234
|
|
|
1291
1235
|
Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`, `receipt`
|
|
@@ -1331,7 +1275,7 @@ Allowed effects:
|
|
|
1331
1275
|
- `domain-effect=null`
|
|
1332
1276
|
|
|
1333
1277
|
```
|
|
1334
|
-
projmux create agent --provider <provider> [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--interactive-only] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--all-windows | --primary-window] [--name <name>] [--label key=value]... [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1278
|
+
projmux create agent --provider <provider> [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--interactive-only] [--model <model>] [--effort <level>] [--persona <name>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--all-windows | --primary-window] [--name <name>] [--label key=value]... [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1335
1279
|
```
|
|
1336
1280
|
|
|
1337
1281
|
Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`, `receipt`
|
|
@@ -1357,27 +1301,6 @@ Allowed effects:
|
|
|
1357
1301
|
projmux create notification --text <s> --target <SESSION[:WINDOW[.PANE]]> [--socket <s>]
|
|
1358
1302
|
```
|
|
1359
1303
|
|
|
1360
|
-
### `projmux create snapshot`
|
|
1361
|
-
|
|
1362
|
-
Create a session snapshot
|
|
1363
|
-
|
|
1364
|
-
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
1365
|
-
|
|
1366
|
-
Allowed effects:
|
|
1367
|
-
|
|
1368
|
-
- `identity=unchanged`
|
|
1369
|
-
- `address=unchanged`
|
|
1370
|
-
- `topology=unchanged`
|
|
1371
|
-
- `desired-state=unchanged`
|
|
1372
|
-
- `runtime=unchanged`
|
|
1373
|
-
- `focus=unchanged`
|
|
1374
|
-
- `cardinality=unchanged`
|
|
1375
|
-
- `domain-effect=null`
|
|
1376
|
-
|
|
1377
|
-
```
|
|
1378
|
-
projmux create snapshot
|
|
1379
|
-
```
|
|
1380
|
-
|
|
1381
1304
|
### `projmux create codex`
|
|
1382
1305
|
|
|
1383
1306
|
Provider shortcut for create agent --provider codex
|
|
@@ -1396,7 +1319,7 @@ Allowed effects:
|
|
|
1396
1319
|
- `domain-effect=null`
|
|
1397
1320
|
|
|
1398
1321
|
```
|
|
1399
|
-
projmux create codex [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--interactive-only] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--all-windows | --primary-window] [--name <name>] [--label key=value]... [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1322
|
+
projmux create codex [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--interactive-only] [--persona <name>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--all-windows | --primary-window] [--name <name>] [--label key=value]... [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1400
1323
|
```
|
|
1401
1324
|
|
|
1402
1325
|
Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`, `receipt`
|
|
@@ -1419,7 +1342,7 @@ Allowed effects:
|
|
|
1419
1342
|
- `domain-effect=null`
|
|
1420
1343
|
|
|
1421
1344
|
```
|
|
1422
|
-
projmux create claude [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--all-windows | --primary-window] [--name <name>] [--label key=value]... [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1345
|
+
projmux create claude [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--model <model>] [--effort <level>] [--persona <name>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--all-windows | --primary-window] [--name <name>] [--label key=value]... [--placement right|down] [--cwd-from project|pane] [-o <mode>] [-- <payload>]
|
|
1423
1346
|
```
|
|
1424
1347
|
|
|
1425
1348
|
Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`, `receipt`
|
|
@@ -1475,18 +1398,17 @@ Subcommands:
|
|
|
1475
1398
|
|
|
1476
1399
|
| Route | Summary |
|
|
1477
1400
|
| --- | --- |
|
|
1478
|
-
| [`projmux delete project`](#projmux-delete-project) | Deprecated alias of unregister project; unregisters Projects and Registry descendants while preserving roots, Git/worktrees,
|
|
1401
|
+
| [`projmux delete project`](#projmux-delete-project) | Deprecated alias of unregister project; unregisters Projects and Registry descendants while preserving roots, Git/worktrees, and runtime |
|
|
1479
1402
|
| [`projmux delete window`](#projmux-delete-window) | Delete Registry Windows and every descendant Agent and Pane, killing an exact live tmux mirror when present; no selector inside tmux means the active Window, and --all means every Window in the registry |
|
|
1480
1403
|
| [`projmux delete pane`](#projmux-delete-pane) | Delete Panes; an Agent-owned current Pane leaves its Agent Offline; no selector inside tmux means the active Pane, and --all means every Pane in the registry |
|
|
1481
1404
|
| [`projmux delete agent`](#projmux-delete-agent) | Delete Agents and their managed Panes; no selector inside tmux means the active Agent, and --all means every Agent in the registry |
|
|
1482
1405
|
| [`projmux delete notification`](#projmux-delete-notification) | Delete pending notification rows |
|
|
1483
|
-
| [`projmux delete snapshot`](#projmux-delete-snapshot) | Delete saved session snapshots |
|
|
1484
1406
|
|
|
1485
|
-
Canonical spelling: `projmux unregister project`, `projmux delete window`, `projmux delete pane`, `projmux delete agent`, `projmux delete notification
|
|
1407
|
+
Canonical spelling: `projmux unregister project`, `projmux delete window`, `projmux delete pane`, `projmux delete agent`, `projmux delete notification`
|
|
1486
1408
|
|
|
1487
1409
|
### `projmux delete project`
|
|
1488
1410
|
|
|
1489
|
-
Deprecated alias of unregister project; unregisters Projects and Registry descendants while preserving roots, Git/worktrees,
|
|
1411
|
+
Deprecated alias of unregister project; unregisters Projects and Registry descendants while preserving roots, Git/worktrees, and runtime
|
|
1490
1412
|
|
|
1491
1413
|
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
1492
1414
|
|
|
@@ -1601,29 +1523,6 @@ projmux delete notification
|
|
|
1601
1523
|
|
|
1602
1524
|
Aliases: `notifications`
|
|
1603
1525
|
|
|
1604
|
-
### `projmux delete snapshot`
|
|
1605
|
-
|
|
1606
|
-
Delete saved session snapshots
|
|
1607
|
-
|
|
1608
|
-
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
1609
|
-
|
|
1610
|
-
Allowed effects:
|
|
1611
|
-
|
|
1612
|
-
- `identity=unchanged`
|
|
1613
|
-
- `address=unchanged`
|
|
1614
|
-
- `topology=unchanged`
|
|
1615
|
-
- `desired-state=unchanged`
|
|
1616
|
-
- `runtime=unchanged`
|
|
1617
|
-
- `focus=unchanged`
|
|
1618
|
-
- `cardinality=unchanged`
|
|
1619
|
-
- `domain-effect=null`
|
|
1620
|
-
|
|
1621
|
-
```
|
|
1622
|
-
projmux delete snapshot
|
|
1623
|
-
```
|
|
1624
|
-
|
|
1625
|
-
Aliases: `snapshots`
|
|
1626
|
-
|
|
1627
1526
|
## `projmux describe`
|
|
1628
1527
|
|
|
1629
1528
|
Describe one Projmux resource
|
|
@@ -1896,7 +1795,9 @@ Allowed effects:
|
|
|
1896
1795
|
```
|
|
1897
1796
|
projmux focus project <ref>
|
|
1898
1797
|
projmux focus window <ref> {--project <ref> | -p <ref>}
|
|
1798
|
+
projmux focus window uid:<uid> [--project <ref> | -p <ref>]
|
|
1899
1799
|
projmux focus pane <ref> {--project <ref> | -p <ref>} {--window <ref> | -w <ref>}
|
|
1800
|
+
projmux focus pane uid:<uid> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]
|
|
1900
1801
|
```
|
|
1901
1802
|
|
|
1902
1803
|
Subcommands:
|
|
@@ -1930,6 +1831,8 @@ Allowed effects:
|
|
|
1930
1831
|
projmux focus project <ref> [--socket <path>] [--client <tty>] [--json]
|
|
1931
1832
|
```
|
|
1932
1833
|
|
|
1834
|
+
`<ref>` is the live tmux session name, or `uid:<uid>` for a Registry Project, which resolves to its `status.session.name`. A `uid:` ref uses the Project's recorded socket; an explicit `--socket` naming another server exits 2. The resolved session must still be live.
|
|
1835
|
+
|
|
1933
1836
|
### `projmux focus window`
|
|
1934
1837
|
|
|
1935
1838
|
Move the current client to an already-live Window in an exact live root session; never materializes
|
|
@@ -1949,8 +1852,13 @@ Allowed effects:
|
|
|
1949
1852
|
|
|
1950
1853
|
```
|
|
1951
1854
|
projmux focus window <ref> {--project <ref> | -p <ref>} [--socket <path>] [--client <tty>] [--json]
|
|
1855
|
+
projmux focus window uid:<uid> [--project <ref> | -p <ref>] [--socket <path>] [--client <tty>] [--json]
|
|
1952
1856
|
```
|
|
1953
1857
|
|
|
1858
|
+
A plain `<ref>` is a live window name or `@id` and requires `--project`. `uid:<uid>` names a Registry Window, which resolves to its `status.runtimeID` inside its owning Project's session, so `--project` is optional; when given it must be that Project (`uid:` or its session name) or the route exits 2. `--project uid:<uid>` also works with a plain `<ref>`.
|
|
1859
|
+
|
|
1860
|
+
A `uid:` resolution uses the Project's recorded socket; an explicit `--socket` naming another server exits 2. The resolved window must still be live.
|
|
1861
|
+
|
|
1954
1862
|
### `projmux focus pane`
|
|
1955
1863
|
|
|
1956
1864
|
Move the current client to an already-live Pane in an exact live root session; never materializes
|
|
@@ -1970,8 +1878,13 @@ Allowed effects:
|
|
|
1970
1878
|
|
|
1971
1879
|
```
|
|
1972
1880
|
projmux focus pane <ref> {--project <ref> | -p <ref>} {--window <ref> | -w <ref>} [--socket <path>] [--json]
|
|
1881
|
+
projmux focus pane uid:<uid> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>] [--socket <path>] [--json]
|
|
1973
1882
|
```
|
|
1974
1883
|
|
|
1884
|
+
A plain `<ref>` is a live pane name or `%id` and requires `--project` and `--window`. `uid:<uid>` names a Registry Pane, which resolves to its `status.activation.runtimeID` inside its owning Window and Project, so both flags are optional; when given they must match that owner chain or the route exits 2. `--project` and `--window` also accept `uid:<uid>` with a plain `<ref>`.
|
|
1885
|
+
|
|
1886
|
+
A `uid:` resolution uses the Project's recorded socket; an explicit `--socket` naming another server exits 2. The resolved pane must still be live.
|
|
1887
|
+
|
|
1975
1888
|
## `projmux get`
|
|
1976
1889
|
|
|
1977
1890
|
Read Projmux resources by selector
|
|
@@ -2009,10 +1922,9 @@ Subcommands:
|
|
|
2009
1922
|
| [`projmux get agents`](#projmux-get-agents) | List Agent resources as NAME STATUS ACTIONS AGE; route-implied KIND is omitted, shifting stdout positions; -o wide retains KIND and diagnostics, and -o json retains kind and invocation context; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry |
|
|
2010
1923
|
| [`projmux get runtime`](#projmux-get-runtime) | List every tmux Session, Window, and Pane on one exact server with its attribution |
|
|
2011
1924
|
| [`projmux get notifications`](#projmux-get-notifications) | List pending notification rows |
|
|
2012
|
-
| [`projmux get snapshots`](#projmux-get-snapshots) | List saved session snapshots |
|
|
2013
1925
|
| [`projmux get pane`](#projmux-get-pane) | Read one Pane resource; with no selector inside tmux, the active Pane |
|
|
2014
1926
|
|
|
2015
|
-
Canonical spelling: `projmux get projects`, `projmux get windows`, `projmux get panes`, `projmux get agents`, `projmux get runtime sessions`, `projmux get runtime windows`, `projmux get runtime panes`, `projmux get notifications`, `projmux get
|
|
1927
|
+
Canonical spelling: `projmux get projects`, `projmux get windows`, `projmux get panes`, `projmux get agents`, `projmux get runtime sessions`, `projmux get runtime windows`, `projmux get runtime panes`, `projmux get notifications`, `projmux get pane`
|
|
2016
1928
|
|
|
2017
1929
|
### `projmux get projects`
|
|
2018
1930
|
|
|
@@ -2114,9 +2026,255 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`, `wide`
|
|
|
2114
2026
|
|
|
2115
2027
|
### `projmux get runtime`
|
|
2116
2028
|
|
|
2117
|
-
List every tmux Session, Window, and Pane on one exact server with its attribution
|
|
2029
|
+
List every tmux Session, Window, and Pane on one exact server with its attribution
|
|
2030
|
+
|
|
2031
|
+
Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
|
|
2032
|
+
|
|
2033
|
+
Allowed effects:
|
|
2034
|
+
|
|
2035
|
+
- `identity=unchanged`
|
|
2036
|
+
- `address=unchanged`
|
|
2037
|
+
- `topology=unchanged`
|
|
2038
|
+
- `desired-state=unchanged`
|
|
2039
|
+
- `runtime=unchanged`
|
|
2040
|
+
- `focus=unchanged`
|
|
2041
|
+
- `cardinality=zero-or-more`
|
|
2042
|
+
- `domain-effect=null`
|
|
2043
|
+
|
|
2044
|
+
```
|
|
2045
|
+
projmux get runtime sessions [--socket <name> | --socket-path <absolute>] [-o wide|json|none]
|
|
2046
|
+
projmux get runtime windows [--socket <name> | --socket-path <absolute>] [-o wide|json|none]
|
|
2047
|
+
projmux get runtime panes [--socket <name> | --socket-path <absolute>] [-o wide|json|none]
|
|
2048
|
+
```
|
|
2049
|
+
|
|
2050
|
+
Subcommands:
|
|
2051
|
+
|
|
2052
|
+
| Route | Summary |
|
|
2053
|
+
| --- | --- |
|
|
2054
|
+
| [`projmux get runtime sessions`](#projmux-get-runtime-sessions) | List every tmux session on one exact server with its attribution |
|
|
2055
|
+
| [`projmux get runtime windows`](#projmux-get-runtime-windows) | List every tmux window on one exact server with its attribution |
|
|
2056
|
+
| [`projmux get runtime panes`](#projmux-get-runtime-panes) | List every tmux pane on one exact server with its attribution |
|
|
2057
|
+
|
|
2058
|
+
Canonical spelling: `projmux get runtime sessions`, `projmux get runtime windows`, `projmux get runtime panes`
|
|
2059
|
+
|
|
2060
|
+
#### `projmux get runtime sessions`
|
|
2061
|
+
|
|
2062
|
+
List every tmux session on one exact server with its attribution
|
|
2063
|
+
|
|
2064
|
+
Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
|
|
2065
|
+
|
|
2066
|
+
Allowed effects:
|
|
2067
|
+
|
|
2068
|
+
- `identity=unchanged`
|
|
2069
|
+
- `address=unchanged`
|
|
2070
|
+
- `topology=unchanged`
|
|
2071
|
+
- `desired-state=unchanged`
|
|
2072
|
+
- `runtime=unchanged`
|
|
2073
|
+
- `focus=unchanged`
|
|
2074
|
+
- `cardinality=zero-or-more`
|
|
2075
|
+
- `domain-effect=null`
|
|
2076
|
+
|
|
2077
|
+
```
|
|
2078
|
+
projmux get runtime sessions [--socket <name> | --socket-path <absolute>] [-o wide|json|none]
|
|
2079
|
+
```
|
|
2080
|
+
|
|
2081
|
+
Output modes (`-o`): `wide`, `json`, `none`
|
|
2082
|
+
|
|
2083
|
+
#### `projmux get runtime windows`
|
|
2084
|
+
|
|
2085
|
+
List every tmux window on one exact server with its attribution
|
|
2086
|
+
|
|
2087
|
+
Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
|
|
2088
|
+
|
|
2089
|
+
Allowed effects:
|
|
2090
|
+
|
|
2091
|
+
- `identity=unchanged`
|
|
2092
|
+
- `address=unchanged`
|
|
2093
|
+
- `topology=unchanged`
|
|
2094
|
+
- `desired-state=unchanged`
|
|
2095
|
+
- `runtime=unchanged`
|
|
2096
|
+
- `focus=unchanged`
|
|
2097
|
+
- `cardinality=zero-or-more`
|
|
2098
|
+
- `domain-effect=null`
|
|
2099
|
+
|
|
2100
|
+
```
|
|
2101
|
+
projmux get runtime windows [--socket <name> | --socket-path <absolute>] [-o wide|json|none]
|
|
2102
|
+
```
|
|
2103
|
+
|
|
2104
|
+
Output modes (`-o`): `wide`, `json`, `none`
|
|
2105
|
+
|
|
2106
|
+
#### `projmux get runtime panes`
|
|
2107
|
+
|
|
2108
|
+
List every tmux pane on one exact server with its attribution
|
|
2109
|
+
|
|
2110
|
+
Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
|
|
2111
|
+
|
|
2112
|
+
Allowed effects:
|
|
2113
|
+
|
|
2114
|
+
- `identity=unchanged`
|
|
2115
|
+
- `address=unchanged`
|
|
2116
|
+
- `topology=unchanged`
|
|
2117
|
+
- `desired-state=unchanged`
|
|
2118
|
+
- `runtime=unchanged`
|
|
2119
|
+
- `focus=unchanged`
|
|
2120
|
+
- `cardinality=zero-or-more`
|
|
2121
|
+
- `domain-effect=null`
|
|
2122
|
+
|
|
2123
|
+
```
|
|
2124
|
+
projmux get runtime panes [--socket <name> | --socket-path <absolute>] [-o wide|json|none]
|
|
2125
|
+
```
|
|
2126
|
+
|
|
2127
|
+
Output modes (`-o`): `wide`, `json`, `none`
|
|
2128
|
+
|
|
2129
|
+
### `projmux get notifications`
|
|
2130
|
+
|
|
2131
|
+
List pending notification rows
|
|
2132
|
+
|
|
2133
|
+
Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
|
|
2134
|
+
|
|
2135
|
+
Allowed effects:
|
|
2136
|
+
|
|
2137
|
+
- `identity=unchanged`
|
|
2138
|
+
- `address=unchanged`
|
|
2139
|
+
- `topology=unchanged`
|
|
2140
|
+
- `desired-state=unchanged`
|
|
2141
|
+
- `runtime=unchanged`
|
|
2142
|
+
- `focus=unchanged`
|
|
2143
|
+
- `cardinality=zero-or-more`
|
|
2144
|
+
- `domain-effect=null`
|
|
2145
|
+
|
|
2146
|
+
```
|
|
2147
|
+
projmux get notifications
|
|
2148
|
+
```
|
|
2149
|
+
|
|
2150
|
+
Aliases: `notification`
|
|
2151
|
+
|
|
2152
|
+
### `projmux get pane`
|
|
2153
|
+
|
|
2154
|
+
Read one Pane resource; with no selector inside tmux, the active Pane
|
|
2155
|
+
|
|
2156
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
2157
|
+
|
|
2158
|
+
Allowed effects:
|
|
2159
|
+
|
|
2160
|
+
- `identity=unchanged`
|
|
2161
|
+
- `address=unchanged`
|
|
2162
|
+
- `topology=unchanged`
|
|
2163
|
+
- `desired-state=unchanged`
|
|
2164
|
+
- `runtime=unchanged`
|
|
2165
|
+
- `focus=unchanged`
|
|
2166
|
+
- `cardinality=exact-one`
|
|
2167
|
+
- `domain-effect=null`
|
|
2168
|
+
|
|
2169
|
+
```
|
|
2170
|
+
projmux get pane [--current] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [-o <mode>]
|
|
2171
|
+
```
|
|
2172
|
+
|
|
2173
|
+
Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
|
|
2174
|
+
|
|
2175
|
+
Field projections (`-o`): `cwd`
|
|
2176
|
+
|
|
2177
|
+
## `projmux hook`
|
|
2178
|
+
|
|
2179
|
+
List, edit, validate, and trust lifecycle hook config
|
|
2180
|
+
|
|
2181
|
+
Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
|
|
2182
|
+
|
|
2183
|
+
Allowed effects:
|
|
2184
|
+
|
|
2185
|
+
- `identity=unchanged`
|
|
2186
|
+
- `address=unchanged`
|
|
2187
|
+
- `topology=unchanged`
|
|
2188
|
+
- `desired-state=unchanged`
|
|
2189
|
+
- `runtime=unchanged`
|
|
2190
|
+
- `focus=unchanged`
|
|
2191
|
+
- `cardinality=unchanged`
|
|
2192
|
+
- `domain-effect=null`
|
|
2193
|
+
|
|
2194
|
+
```
|
|
2195
|
+
projmux hook list|edit|validate|trust|untrust
|
|
2196
|
+
```
|
|
2197
|
+
|
|
2198
|
+
Subcommands:
|
|
2199
|
+
|
|
2200
|
+
| Route | Summary |
|
|
2201
|
+
| --- | --- |
|
|
2202
|
+
| [`projmux hook list`](#projmux-hook-list) | List global and project lifecycle hooks |
|
|
2203
|
+
| [`projmux hook edit`](#projmux-hook-edit) | Edit lifecycle hook config |
|
|
2204
|
+
| [`projmux hook validate`](#projmux-hook-validate) | Validate lifecycle hook config |
|
|
2205
|
+
| [`projmux hook trust`](#projmux-hook-trust) | Trust the current project hook config |
|
|
2206
|
+
| [`projmux hook untrust`](#projmux-hook-untrust) | Revoke project hook config trust |
|
|
2207
|
+
|
|
2208
|
+
Canonical spelling: `projmux hook list`, `projmux hook edit`, `projmux hook validate`, `projmux hook trust`, `projmux hook untrust`
|
|
2209
|
+
|
|
2210
|
+
### `projmux hook list`
|
|
2211
|
+
|
|
2212
|
+
List global and project lifecycle hooks
|
|
2213
|
+
|
|
2214
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
2215
|
+
|
|
2216
|
+
Allowed effects:
|
|
2217
|
+
|
|
2218
|
+
- `identity=unchanged`
|
|
2219
|
+
- `address=unchanged`
|
|
2220
|
+
- `topology=unchanged`
|
|
2221
|
+
- `desired-state=unchanged`
|
|
2222
|
+
- `runtime=unchanged`
|
|
2223
|
+
- `focus=unchanged`
|
|
2224
|
+
- `cardinality=unchanged`
|
|
2225
|
+
- `domain-effect=null`
|
|
2226
|
+
|
|
2227
|
+
```
|
|
2228
|
+
projmux hook list
|
|
2229
|
+
```
|
|
2230
|
+
|
|
2231
|
+
### `projmux hook edit`
|
|
2232
|
+
|
|
2233
|
+
Edit lifecycle hook config
|
|
2234
|
+
|
|
2235
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
2236
|
+
|
|
2237
|
+
Allowed effects:
|
|
2238
|
+
|
|
2239
|
+
- `identity=unchanged`
|
|
2240
|
+
- `address=unchanged`
|
|
2241
|
+
- `topology=unchanged`
|
|
2242
|
+
- `desired-state=unchanged`
|
|
2243
|
+
- `runtime=unchanged`
|
|
2244
|
+
- `focus=unchanged`
|
|
2245
|
+
- `cardinality=unchanged`
|
|
2246
|
+
- `domain-effect=null`
|
|
2247
|
+
|
|
2248
|
+
```
|
|
2249
|
+
projmux hook edit
|
|
2250
|
+
```
|
|
2251
|
+
|
|
2252
|
+
### `projmux hook validate`
|
|
2253
|
+
|
|
2254
|
+
Validate lifecycle hook config
|
|
2255
|
+
|
|
2256
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
2257
|
+
|
|
2258
|
+
Allowed effects:
|
|
2259
|
+
|
|
2260
|
+
- `identity=unchanged`
|
|
2261
|
+
- `address=unchanged`
|
|
2262
|
+
- `topology=unchanged`
|
|
2263
|
+
- `desired-state=unchanged`
|
|
2264
|
+
- `runtime=unchanged`
|
|
2265
|
+
- `focus=unchanged`
|
|
2266
|
+
- `cardinality=unchanged`
|
|
2267
|
+
- `domain-effect=null`
|
|
2268
|
+
|
|
2269
|
+
```
|
|
2270
|
+
projmux hook validate
|
|
2271
|
+
```
|
|
2272
|
+
|
|
2273
|
+
### `projmux hook trust`
|
|
2274
|
+
|
|
2275
|
+
Trust the current project hook config
|
|
2118
2276
|
|
|
2119
|
-
Selectorless authority: `
|
|
2277
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
2120
2278
|
|
|
2121
2279
|
Allowed effects:
|
|
2122
2280
|
|
|
@@ -2126,30 +2284,18 @@ Allowed effects:
|
|
|
2126
2284
|
- `desired-state=unchanged`
|
|
2127
2285
|
- `runtime=unchanged`
|
|
2128
2286
|
- `focus=unchanged`
|
|
2129
|
-
- `cardinality=
|
|
2287
|
+
- `cardinality=unchanged`
|
|
2130
2288
|
- `domain-effect=null`
|
|
2131
2289
|
|
|
2132
2290
|
```
|
|
2133
|
-
projmux
|
|
2134
|
-
projmux get runtime windows [--socket <name> | --socket-path <absolute>] [-o wide|json|none]
|
|
2135
|
-
projmux get runtime panes [--socket <name> | --socket-path <absolute>] [-o wide|json|none]
|
|
2291
|
+
projmux hook trust
|
|
2136
2292
|
```
|
|
2137
2293
|
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
| Route | Summary |
|
|
2141
|
-
| --- | --- |
|
|
2142
|
-
| [`projmux get runtime sessions`](#projmux-get-runtime-sessions) | List every tmux session on one exact server with its attribution |
|
|
2143
|
-
| [`projmux get runtime windows`](#projmux-get-runtime-windows) | List every tmux window on one exact server with its attribution |
|
|
2144
|
-
| [`projmux get runtime panes`](#projmux-get-runtime-panes) | List every tmux pane on one exact server with its attribution |
|
|
2145
|
-
|
|
2146
|
-
Canonical spelling: `projmux get runtime sessions`, `projmux get runtime windows`, `projmux get runtime panes`
|
|
2147
|
-
|
|
2148
|
-
#### `projmux get runtime sessions`
|
|
2294
|
+
### `projmux hook untrust`
|
|
2149
2295
|
|
|
2150
|
-
|
|
2296
|
+
Revoke project hook config trust
|
|
2151
2297
|
|
|
2152
|
-
Selectorless authority: `
|
|
2298
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
2153
2299
|
|
|
2154
2300
|
Allowed effects:
|
|
2155
2301
|
|
|
@@ -2159,20 +2305,18 @@ Allowed effects:
|
|
|
2159
2305
|
- `desired-state=unchanged`
|
|
2160
2306
|
- `runtime=unchanged`
|
|
2161
2307
|
- `focus=unchanged`
|
|
2162
|
-
- `cardinality=
|
|
2308
|
+
- `cardinality=unchanged`
|
|
2163
2309
|
- `domain-effect=null`
|
|
2164
2310
|
|
|
2165
2311
|
```
|
|
2166
|
-
projmux
|
|
2312
|
+
projmux hook untrust
|
|
2167
2313
|
```
|
|
2168
2314
|
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
#### `projmux get runtime windows`
|
|
2315
|
+
## `projmux label`
|
|
2172
2316
|
|
|
2173
|
-
|
|
2317
|
+
Set or remove Projmux resource metadata.labels after creation
|
|
2174
2318
|
|
|
2175
|
-
Selectorless authority: `
|
|
2319
|
+
Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
|
|
2176
2320
|
|
|
2177
2321
|
Allowed effects:
|
|
2178
2322
|
|
|
@@ -2182,20 +2326,32 @@ Allowed effects:
|
|
|
2182
2326
|
- `desired-state=unchanged`
|
|
2183
2327
|
- `runtime=unchanged`
|
|
2184
2328
|
- `focus=unchanged`
|
|
2185
|
-
- `cardinality=
|
|
2329
|
+
- `cardinality=unchanged`
|
|
2186
2330
|
- `domain-effect=null`
|
|
2187
2331
|
|
|
2188
2332
|
```
|
|
2189
|
-
projmux
|
|
2333
|
+
projmux label project [<ref>] <key=value|key->... [--project <ref> | -p <ref>]
|
|
2334
|
+
projmux label window [<ref>] <key=value|key->... [--project <ref> | -p <ref>]
|
|
2335
|
+
projmux label pane [<ref>] <key=value|key->... [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
2336
|
+
projmux label agent [<ref>] <key=value|key->... [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
2190
2337
|
```
|
|
2191
2338
|
|
|
2192
|
-
|
|
2339
|
+
Subcommands:
|
|
2193
2340
|
|
|
2194
|
-
|
|
2341
|
+
| Route | Summary |
|
|
2342
|
+
| --- | --- |
|
|
2343
|
+
| [`projmux label project`](#projmux-label-project) | Set or remove Project labels; with no selector inside tmux, the active Project |
|
|
2344
|
+
| [`projmux label window`](#projmux-label-window) | Set or remove Window labels; inside tmux a reference resolves within the active Project or ControlSession and no selector means the active Window |
|
|
2345
|
+
| [`projmux label pane`](#projmux-label-pane) | Set or remove Pane labels; inside tmux a reference resolves within the active Project or ControlSession and no selector means the active Pane |
|
|
2346
|
+
| [`projmux label agent`](#projmux-label-agent) | Set or remove Agent labels within the active Project or ControlSession without changing its name, topic, provider, or managed Pane |
|
|
2195
2347
|
|
|
2196
|
-
|
|
2348
|
+
Canonical spelling: `projmux label project`, `projmux label window`, `projmux label pane`, `projmux label agent`
|
|
2197
2349
|
|
|
2198
|
-
|
|
2350
|
+
### `projmux label project`
|
|
2351
|
+
|
|
2352
|
+
Set or remove Project labels; with no selector inside tmux, the active Project
|
|
2353
|
+
|
|
2354
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
2199
2355
|
|
|
2200
2356
|
Allowed effects:
|
|
2201
2357
|
|
|
@@ -2205,20 +2361,20 @@ Allowed effects:
|
|
|
2205
2361
|
- `desired-state=unchanged`
|
|
2206
2362
|
- `runtime=unchanged`
|
|
2207
2363
|
- `focus=unchanged`
|
|
2208
|
-
- `cardinality=
|
|
2364
|
+
- `cardinality=exact-one`
|
|
2209
2365
|
- `domain-effect=null`
|
|
2210
2366
|
|
|
2211
2367
|
```
|
|
2212
|
-
projmux
|
|
2368
|
+
projmux label project [<ref>] <key=value|key->... [--project <ref> | -p <ref>]
|
|
2213
2369
|
```
|
|
2214
2370
|
|
|
2215
|
-
|
|
2371
|
+
Aliases: `projects`
|
|
2216
2372
|
|
|
2217
|
-
### `projmux
|
|
2373
|
+
### `projmux label window`
|
|
2218
2374
|
|
|
2219
|
-
|
|
2375
|
+
Set or remove Window labels; inside tmux a reference resolves within the active Project or ControlSession and no selector means the active Window
|
|
2220
2376
|
|
|
2221
|
-
Selectorless authority: `
|
|
2377
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
2222
2378
|
|
|
2223
2379
|
Allowed effects:
|
|
2224
2380
|
|
|
@@ -2228,20 +2384,20 @@ Allowed effects:
|
|
|
2228
2384
|
- `desired-state=unchanged`
|
|
2229
2385
|
- `runtime=unchanged`
|
|
2230
2386
|
- `focus=unchanged`
|
|
2231
|
-
- `cardinality=
|
|
2387
|
+
- `cardinality=exact-one`
|
|
2232
2388
|
- `domain-effect=null`
|
|
2233
2389
|
|
|
2234
2390
|
```
|
|
2235
|
-
projmux
|
|
2391
|
+
projmux label window [<ref>] <key=value|key->... [--project <ref> | -p <ref>]
|
|
2236
2392
|
```
|
|
2237
2393
|
|
|
2238
|
-
Aliases: `
|
|
2394
|
+
Aliases: `windows`
|
|
2239
2395
|
|
|
2240
|
-
### `projmux
|
|
2396
|
+
### `projmux label pane`
|
|
2241
2397
|
|
|
2242
|
-
|
|
2398
|
+
Set or remove Pane labels; inside tmux a reference resolves within the active Project or ControlSession and no selector means the active Pane
|
|
2243
2399
|
|
|
2244
|
-
Selectorless authority: `
|
|
2400
|
+
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
2245
2401
|
|
|
2246
2402
|
Allowed effects:
|
|
2247
2403
|
|
|
@@ -2251,18 +2407,18 @@ Allowed effects:
|
|
|
2251
2407
|
- `desired-state=unchanged`
|
|
2252
2408
|
- `runtime=unchanged`
|
|
2253
2409
|
- `focus=unchanged`
|
|
2254
|
-
- `cardinality=
|
|
2410
|
+
- `cardinality=exact-one`
|
|
2255
2411
|
- `domain-effect=null`
|
|
2256
2412
|
|
|
2257
2413
|
```
|
|
2258
|
-
projmux
|
|
2414
|
+
projmux label pane [<ref>] <key=value|key->... [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
2259
2415
|
```
|
|
2260
2416
|
|
|
2261
|
-
Aliases: `
|
|
2417
|
+
Aliases: `panes`
|
|
2262
2418
|
|
|
2263
|
-
### `projmux
|
|
2419
|
+
### `projmux label agent`
|
|
2264
2420
|
|
|
2265
|
-
|
|
2421
|
+
Set or remove Agent labels within the active Project or ControlSession without changing its name, topic, provider, or managed Pane
|
|
2266
2422
|
|
|
2267
2423
|
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
2268
2424
|
|
|
@@ -2278,16 +2434,14 @@ Allowed effects:
|
|
|
2278
2434
|
- `domain-effect=null`
|
|
2279
2435
|
|
|
2280
2436
|
```
|
|
2281
|
-
projmux
|
|
2437
|
+
projmux label agent [<ref>] <key=value|key->... [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
|
|
2282
2438
|
```
|
|
2283
2439
|
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
Field projections (`-o`): `cwd`
|
|
2440
|
+
Aliases: `agents`
|
|
2287
2441
|
|
|
2288
|
-
## `projmux
|
|
2442
|
+
## `projmux notification`
|
|
2289
2443
|
|
|
2290
|
-
|
|
2444
|
+
Manage pending notification workflow state
|
|
2291
2445
|
|
|
2292
2446
|
Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
|
|
2293
2447
|
|
|
@@ -2303,26 +2457,24 @@ Allowed effects:
|
|
|
2303
2457
|
- `domain-effect=null`
|
|
2304
2458
|
|
|
2305
2459
|
```
|
|
2306
|
-
projmux
|
|
2460
|
+
projmux notification ack <id> | --all
|
|
2461
|
+
projmux notification reconcile [--json]
|
|
2307
2462
|
```
|
|
2308
2463
|
|
|
2309
2464
|
Subcommands:
|
|
2310
2465
|
|
|
2311
2466
|
| Route | Summary |
|
|
2312
2467
|
| --- | --- |
|
|
2313
|
-
| [`projmux
|
|
2314
|
-
| [`projmux
|
|
2315
|
-
| [`projmux hook validate`](#projmux-hook-validate) | Validate lifecycle hook config |
|
|
2316
|
-
| [`projmux hook trust`](#projmux-hook-trust) | Trust the current project hook config |
|
|
2317
|
-
| [`projmux hook untrust`](#projmux-hook-untrust) | Revoke project hook config trust |
|
|
2468
|
+
| [`projmux notification ack`](#projmux-notification-ack) | Acknowledge notification rows |
|
|
2469
|
+
| [`projmux notification reconcile`](#projmux-notification-reconcile) | Reconcile the notification queue against live targets |
|
|
2318
2470
|
|
|
2319
|
-
Canonical spelling: `projmux
|
|
2471
|
+
Canonical spelling: `projmux notification ack`, `projmux notification reconcile`
|
|
2320
2472
|
|
|
2321
|
-
### `projmux
|
|
2473
|
+
### `projmux notification ack`
|
|
2322
2474
|
|
|
2323
|
-
|
|
2475
|
+
Acknowledge notification rows
|
|
2324
2476
|
|
|
2325
|
-
Selectorless authority: `
|
|
2477
|
+
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
2326
2478
|
|
|
2327
2479
|
Allowed effects:
|
|
2328
2480
|
|
|
@@ -2336,14 +2488,14 @@ Allowed effects:
|
|
|
2336
2488
|
- `domain-effect=null`
|
|
2337
2489
|
|
|
2338
2490
|
```
|
|
2339
|
-
projmux
|
|
2491
|
+
projmux notification ack <id> | --all
|
|
2340
2492
|
```
|
|
2341
2493
|
|
|
2342
|
-
### `projmux
|
|
2494
|
+
### `projmux notification reconcile`
|
|
2343
2495
|
|
|
2344
|
-
|
|
2496
|
+
Reconcile the notification queue against live targets
|
|
2345
2497
|
|
|
2346
|
-
Selectorless authority: `
|
|
2498
|
+
Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
|
|
2347
2499
|
|
|
2348
2500
|
Allowed effects:
|
|
2349
2501
|
|
|
@@ -2357,14 +2509,14 @@ Allowed effects:
|
|
|
2357
2509
|
- `domain-effect=null`
|
|
2358
2510
|
|
|
2359
2511
|
```
|
|
2360
|
-
projmux
|
|
2512
|
+
projmux notification reconcile [--json]
|
|
2361
2513
|
```
|
|
2362
2514
|
|
|
2363
|
-
|
|
2515
|
+
## `projmux open`
|
|
2364
2516
|
|
|
2365
|
-
|
|
2517
|
+
Open a Project runtime and move the current client to it
|
|
2366
2518
|
|
|
2367
|
-
Selectorless authority: `
|
|
2519
|
+
Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
|
|
2368
2520
|
|
|
2369
2521
|
Allowed effects:
|
|
2370
2522
|
|
|
@@ -2378,14 +2530,22 @@ Allowed effects:
|
|
|
2378
2530
|
- `domain-effect=null`
|
|
2379
2531
|
|
|
2380
2532
|
```
|
|
2381
|
-
projmux
|
|
2533
|
+
projmux open project <ref> [-o receipt|none]
|
|
2382
2534
|
```
|
|
2383
2535
|
|
|
2384
|
-
|
|
2536
|
+
Subcommands:
|
|
2385
2537
|
|
|
2386
|
-
|
|
2538
|
+
| Route | Summary |
|
|
2539
|
+
| --- | --- |
|
|
2540
|
+
| [`projmux open project`](#projmux-open-project) | Materialize an offline Project runtime when needed and move the current tmux client to it; outside tmux it refuses and points at attach |
|
|
2387
2541
|
|
|
2388
|
-
|
|
2542
|
+
Canonical spelling: `projmux open project`
|
|
2543
|
+
|
|
2544
|
+
### `projmux open project`
|
|
2545
|
+
|
|
2546
|
+
Materialize an offline Project runtime when needed and move the current tmux client to it; outside tmux it refuses and points at attach
|
|
2547
|
+
|
|
2548
|
+
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
2389
2549
|
|
|
2390
2550
|
Allowed effects:
|
|
2391
2551
|
|
|
@@ -2393,20 +2553,22 @@ Allowed effects:
|
|
|
2393
2553
|
- `address=unchanged`
|
|
2394
2554
|
- `topology=unchanged`
|
|
2395
2555
|
- `desired-state=unchanged`
|
|
2396
|
-
- `runtime=
|
|
2397
|
-
- `focus=
|
|
2398
|
-
- `cardinality=
|
|
2556
|
+
- `runtime=materialized|already-live`
|
|
2557
|
+
- `focus=moved-current-client`
|
|
2558
|
+
- `cardinality=exact-one`
|
|
2399
2559
|
- `domain-effect=null`
|
|
2400
2560
|
|
|
2401
2561
|
```
|
|
2402
|
-
projmux
|
|
2562
|
+
projmux open project <ref> [-o receipt|none]
|
|
2403
2563
|
```
|
|
2404
2564
|
|
|
2405
|
-
|
|
2565
|
+
Output modes (`-o`): `receipt`, `none`
|
|
2406
2566
|
|
|
2407
|
-
|
|
2567
|
+
## `projmux persona`
|
|
2408
2568
|
|
|
2409
|
-
|
|
2569
|
+
List, show, edit, set, and delete Agent persona files
|
|
2570
|
+
|
|
2571
|
+
Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
|
|
2410
2572
|
|
|
2411
2573
|
Allowed effects:
|
|
2412
2574
|
|
|
@@ -2420,14 +2582,30 @@ Allowed effects:
|
|
|
2420
2582
|
- `domain-effect=null`
|
|
2421
2583
|
|
|
2422
2584
|
```
|
|
2423
|
-
projmux
|
|
2585
|
+
projmux persona list
|
|
2586
|
+
projmux persona show <name>
|
|
2587
|
+
projmux persona edit <name>
|
|
2588
|
+
projmux persona set <name> [--file <path> | -]
|
|
2589
|
+
projmux persona delete <name> --yes
|
|
2424
2590
|
```
|
|
2425
2591
|
|
|
2426
|
-
|
|
2592
|
+
Subcommands:
|
|
2427
2593
|
|
|
2428
|
-
|
|
2594
|
+
| Route | Summary |
|
|
2595
|
+
| --- | --- |
|
|
2596
|
+
| [`projmux persona list`](#projmux-persona-list) | List every stored persona with its digest, size, and modification time |
|
|
2597
|
+
| [`projmux persona show`](#projmux-persona-show) | Print one persona's content exactly as stored |
|
|
2598
|
+
| [`projmux persona edit`](#projmux-persona-edit) | Edit one persona in $EDITOR or $VISUAL, creating it when missing |
|
|
2599
|
+
| [`projmux persona set`](#projmux-persona-set) | Write one persona from a file or stdin without an editor |
|
|
2600
|
+
| [`projmux persona delete`](#projmux-persona-delete) | Delete one persona file; Agents already started with it keep their snapshot |
|
|
2429
2601
|
|
|
2430
|
-
|
|
2602
|
+
Canonical spelling: `projmux persona list`, `projmux persona show`, `projmux persona edit`, `projmux persona set`, `projmux persona delete`
|
|
2603
|
+
|
|
2604
|
+
### `projmux persona list`
|
|
2605
|
+
|
|
2606
|
+
List every stored persona with its digest, size, and modification time
|
|
2607
|
+
|
|
2608
|
+
Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
|
|
2431
2609
|
|
|
2432
2610
|
Allowed effects:
|
|
2433
2611
|
|
|
@@ -2441,22 +2619,12 @@ Allowed effects:
|
|
|
2441
2619
|
- `domain-effect=null`
|
|
2442
2620
|
|
|
2443
2621
|
```
|
|
2444
|
-
projmux
|
|
2445
|
-
projmux notification reconcile [--json]
|
|
2622
|
+
projmux persona list
|
|
2446
2623
|
```
|
|
2447
2624
|
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
| Route | Summary |
|
|
2451
|
-
| --- | --- |
|
|
2452
|
-
| [`projmux notification ack`](#projmux-notification-ack) | Acknowledge notification rows |
|
|
2453
|
-
| [`projmux notification reconcile`](#projmux-notification-reconcile) | Reconcile the notification queue against live targets |
|
|
2454
|
-
|
|
2455
|
-
Canonical spelling: `projmux notification ack`, `projmux notification reconcile`
|
|
2456
|
-
|
|
2457
|
-
### `projmux notification ack`
|
|
2625
|
+
### `projmux persona show`
|
|
2458
2626
|
|
|
2459
|
-
|
|
2627
|
+
Print one persona's content exactly as stored
|
|
2460
2628
|
|
|
2461
2629
|
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
2462
2630
|
|
|
@@ -2472,14 +2640,14 @@ Allowed effects:
|
|
|
2472
2640
|
- `domain-effect=null`
|
|
2473
2641
|
|
|
2474
2642
|
```
|
|
2475
|
-
projmux
|
|
2643
|
+
projmux persona show <name>
|
|
2476
2644
|
```
|
|
2477
2645
|
|
|
2478
|
-
### `projmux
|
|
2646
|
+
### `projmux persona edit`
|
|
2479
2647
|
|
|
2480
|
-
|
|
2648
|
+
Edit one persona in $EDITOR or $VISUAL, creating it when missing
|
|
2481
2649
|
|
|
2482
|
-
Selectorless authority: `explicit-
|
|
2650
|
+
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
2483
2651
|
|
|
2484
2652
|
Allowed effects:
|
|
2485
2653
|
|
|
@@ -2493,14 +2661,14 @@ Allowed effects:
|
|
|
2493
2661
|
- `domain-effect=null`
|
|
2494
2662
|
|
|
2495
2663
|
```
|
|
2496
|
-
projmux
|
|
2664
|
+
projmux persona edit <name>
|
|
2497
2665
|
```
|
|
2498
2666
|
|
|
2499
|
-
|
|
2667
|
+
### `projmux persona set`
|
|
2500
2668
|
|
|
2501
|
-
|
|
2669
|
+
Write one persona from a file or stdin without an editor
|
|
2502
2670
|
|
|
2503
|
-
Selectorless authority: `
|
|
2671
|
+
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
2504
2672
|
|
|
2505
2673
|
Allowed effects:
|
|
2506
2674
|
|
|
@@ -2514,20 +2682,12 @@ Allowed effects:
|
|
|
2514
2682
|
- `domain-effect=null`
|
|
2515
2683
|
|
|
2516
2684
|
```
|
|
2517
|
-
projmux
|
|
2685
|
+
projmux persona set <name> [--file <path> | -]
|
|
2518
2686
|
```
|
|
2519
2687
|
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
| Route | Summary |
|
|
2523
|
-
| --- | --- |
|
|
2524
|
-
| [`projmux open project`](#projmux-open-project) | Materialize an offline Project runtime when needed and move the current tmux client to it; outside tmux it refuses and points at attach |
|
|
2525
|
-
|
|
2526
|
-
Canonical spelling: `projmux open project`
|
|
2527
|
-
|
|
2528
|
-
### `projmux open project`
|
|
2688
|
+
### `projmux persona delete`
|
|
2529
2689
|
|
|
2530
|
-
|
|
2690
|
+
Delete one persona file; Agents already started with it keep their snapshot
|
|
2531
2691
|
|
|
2532
2692
|
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
2533
2693
|
|
|
@@ -2537,17 +2697,15 @@ Allowed effects:
|
|
|
2537
2697
|
- `address=unchanged`
|
|
2538
2698
|
- `topology=unchanged`
|
|
2539
2699
|
- `desired-state=unchanged`
|
|
2540
|
-
- `runtime=
|
|
2541
|
-
- `focus=
|
|
2542
|
-
- `cardinality=
|
|
2700
|
+
- `runtime=unchanged`
|
|
2701
|
+
- `focus=unchanged`
|
|
2702
|
+
- `cardinality=unchanged`
|
|
2543
2703
|
- `domain-effect=null`
|
|
2544
2704
|
|
|
2545
2705
|
```
|
|
2546
|
-
projmux
|
|
2706
|
+
projmux persona delete <name> --yes
|
|
2547
2707
|
```
|
|
2548
2708
|
|
|
2549
|
-
Output modes (`-o`): `receipt`, `none`
|
|
2550
|
-
|
|
2551
2709
|
## `projmux pin`
|
|
2552
2710
|
|
|
2553
2711
|
Manage pinned project directories
|
|
@@ -2600,7 +2758,7 @@ projmux pin project list|add|remove|toggle|clear
|
|
|
2600
2758
|
|
|
2601
2759
|
## `projmux prune`
|
|
2602
2760
|
|
|
2603
|
-
Prune stale Projects
|
|
2761
|
+
Prune stale Projects and Agents
|
|
2604
2762
|
|
|
2605
2763
|
Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
|
|
2606
2764
|
|
|
@@ -2616,7 +2774,6 @@ Allowed effects:
|
|
|
2616
2774
|
- `domain-effect=null`
|
|
2617
2775
|
|
|
2618
2776
|
```
|
|
2619
|
-
projmux prune snapshot [--older-than <duration>]
|
|
2620
2777
|
projmux prune project --missing --older-than <duration> [--yes]
|
|
2621
2778
|
projmux prune agent --older-than <duration> [--no-session-ref] [--no-pane] [--exclude <agent-ref>]... [--yes]
|
|
2622
2779
|
```
|
|
@@ -2627,9 +2784,8 @@ Subcommands:
|
|
|
2627
2784
|
| --- | --- |
|
|
2628
2785
|
| [`projmux prune agent`](#projmux-prune-agent) | Delete Offline or Failed Agents past a bounded age whose session ref or managed Panes are gone; live Panes and Running Agents are never selected |
|
|
2629
2786
|
| [`projmux prune project`](#projmux-prune-project) | Delete Projects whose spec.root has been missing for a bounded age |
|
|
2630
|
-
| [`projmux prune snapshot`](#projmux-prune-snapshot) | Inspect or delete preserved session snapshots (canonical spelling) |
|
|
2631
2787
|
|
|
2632
|
-
Canonical spelling: `projmux prune agent`, `projmux prune project
|
|
2788
|
+
Canonical spelling: `projmux prune agent`, `projmux prune project`
|
|
2633
2789
|
|
|
2634
2790
|
### `projmux prune agent`
|
|
2635
2791
|
|
|
@@ -2673,30 +2829,6 @@ Allowed effects:
|
|
|
2673
2829
|
projmux prune project --missing --older-than <duration> [--yes]
|
|
2674
2830
|
```
|
|
2675
2831
|
|
|
2676
|
-
### `projmux prune snapshot`
|
|
2677
|
-
|
|
2678
|
-
Inspect or delete preserved session snapshots (canonical spelling)
|
|
2679
|
-
|
|
2680
|
-
Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
|
|
2681
|
-
|
|
2682
|
-
Allowed effects:
|
|
2683
|
-
|
|
2684
|
-
- `identity=unchanged`
|
|
2685
|
-
- `address=unchanged`
|
|
2686
|
-
- `topology=unchanged`
|
|
2687
|
-
- `desired-state=unchanged`
|
|
2688
|
-
- `runtime=unchanged`
|
|
2689
|
-
- `focus=unchanged`
|
|
2690
|
-
- `cardinality=unchanged`
|
|
2691
|
-
- `domain-effect=null`
|
|
2692
|
-
|
|
2693
|
-
```
|
|
2694
|
-
projmux prune snapshot [--older-than <duration>]
|
|
2695
|
-
projmux prune snapshot delete <session>...
|
|
2696
|
-
```
|
|
2697
|
-
|
|
2698
|
-
Canonical spelling: `projmux delete snapshot`
|
|
2699
|
-
|
|
2700
2832
|
## `projmux quit`
|
|
2701
2833
|
|
|
2702
2834
|
Quit the app-owned projmux tmux runtime
|
|
@@ -2997,56 +3129,6 @@ Allowed effects:
|
|
|
2997
3129
|
projmux resources
|
|
2998
3130
|
```
|
|
2999
3131
|
|
|
3000
|
-
## `projmux restore`
|
|
3001
|
-
|
|
3002
|
-
Project a saved snapshot into one exact closed Project desired state
|
|
3003
|
-
|
|
3004
|
-
Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
|
|
3005
|
-
|
|
3006
|
-
Allowed effects:
|
|
3007
|
-
|
|
3008
|
-
- `identity=unchanged`
|
|
3009
|
-
- `address=unchanged`
|
|
3010
|
-
- `topology=unchanged`
|
|
3011
|
-
- `desired-state=unchanged`
|
|
3012
|
-
- `runtime=unchanged`
|
|
3013
|
-
- `focus=unchanged`
|
|
3014
|
-
- `cardinality=unchanged`
|
|
3015
|
-
- `domain-effect=null`
|
|
3016
|
-
|
|
3017
|
-
```
|
|
3018
|
-
projmux restore snapshot --session <name> [--project <ref> | -p <ref>] [--dry-run | --yes] [--client <tmux-client>]
|
|
3019
|
-
```
|
|
3020
|
-
|
|
3021
|
-
Subcommands:
|
|
3022
|
-
|
|
3023
|
-
| Route | Summary |
|
|
3024
|
-
| --- | --- |
|
|
3025
|
-
| [`projmux restore snapshot`](#projmux-restore-snapshot) | Project a saved snapshot into one exact closed Project desired state |
|
|
3026
|
-
|
|
3027
|
-
Canonical spelling: `projmux restore snapshot`
|
|
3028
|
-
|
|
3029
|
-
### `projmux restore snapshot`
|
|
3030
|
-
|
|
3031
|
-
Project a saved snapshot into one exact closed Project desired state
|
|
3032
|
-
|
|
3033
|
-
Selectorless authority: `explicit-target` — the route or caller must name the exact target.
|
|
3034
|
-
|
|
3035
|
-
Allowed effects:
|
|
3036
|
-
|
|
3037
|
-
- `identity=unchanged|created|reused|removed|replaced`
|
|
3038
|
-
- `address=unchanged|allocated|released`
|
|
3039
|
-
- `topology=unchanged|established|removed|replaced`
|
|
3040
|
-
- `desired-state=unchanged|created|removed|replaced`
|
|
3041
|
-
- `runtime=unchanged|materialized`
|
|
3042
|
-
- `focus=unchanged|moved-current-client|attached-caller`
|
|
3043
|
-
- `cardinality=unchanged|one-or-more`
|
|
3044
|
-
- `domain-effect=null`
|
|
3045
|
-
|
|
3046
|
-
```
|
|
3047
|
-
projmux restore snapshot --session <name> [--project <ref> | -p <ref>] [--dry-run | --yes] [--client <tmux-client>]
|
|
3048
|
-
```
|
|
3049
|
-
|
|
3050
3132
|
## `projmux runtime`
|
|
3051
3133
|
|
|
3052
3134
|
Manage the live and ephemeral tmux runtime inventory
|
|
@@ -3457,13 +3539,13 @@ Subcommands:
|
|
|
3457
3539
|
|
|
3458
3540
|
| Route | Summary |
|
|
3459
3541
|
| --- | --- |
|
|
3460
|
-
| [`projmux unregister project`](#projmux-unregister-project) | Unregister Projects and their Registry descendants while preserving roots, Git/worktrees,
|
|
3542
|
+
| [`projmux unregister project`](#projmux-unregister-project) | Unregister Projects and their Registry descendants while preserving roots, Git/worktrees, and runtime |
|
|
3461
3543
|
|
|
3462
3544
|
Canonical spelling: `projmux unregister project`
|
|
3463
3545
|
|
|
3464
3546
|
### `projmux unregister project`
|
|
3465
3547
|
|
|
3466
|
-
Unregister Projects and their Registry descendants while preserving roots, Git/worktrees,
|
|
3548
|
+
Unregister Projects and their Registry descendants while preserving roots, Git/worktrees, and runtime
|
|
3467
3549
|
|
|
3468
3550
|
Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
|
|
3469
3551
|
|