projmux 0.12.2 → 0.13.1

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/docs/cli.md CHANGED
@@ -16,6 +16,25 @@ Prose that a manifest cannot hold -- the help boundary contract, exit codes,
16
16
  per-flag behavior, and task-oriented walkthroughs -- lives in the
17
17
  [CLI Task Guide](cli-guide.md).
18
18
 
19
+ ## Selectorless authority
20
+
21
+ Each label describes what omission means for one graph route; explicit selectors still replace a natural target.
22
+
23
+ - `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
24
+ - `explicit-target` — the route or caller must name the exact target.
25
+ - `refusal` — there is no safe selectorless action; refuse before output or mutation.
26
+ - `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
27
+
28
+ Root parser bridges outside the route graph are censused from their parser token lists:
29
+
30
+ | Bridge | Selectorless authority |
31
+ | --- | --- |
32
+ | `<bare invocation>` | `natural-omitted` |
33
+ | `<root help flag:help>` | `explicit-fan-out` |
34
+ | `<root help flag:h>` | `explicit-fan-out` |
35
+ | `--version` | `explicit-fan-out` |
36
+ | `-version` | `explicit-fan-out` |
37
+
19
38
  ## Commands
20
39
 
21
40
  ```
@@ -44,7 +63,7 @@ projmux <command> [args...]
44
63
  | [`projmux rebind`](#projmux-rebind) | canonical | Rebind a Project to a new absolute root without moving files |
45
64
  | [`projmux rename`](#projmux-rename) | canonical | Rename a Projmux resource metadata.name |
46
65
  | [`projmux resources`](#projmux-resources) | shortcut | Inspect live Project, Window, and Pane CPU/RSS attribution |
47
- | [`projmux restore`](#projmux-restore) | canonical | Preview a saved session snapshot restore (--dry-run only in this release) |
66
+ | [`projmux restore`](#projmux-restore) | canonical | Project a saved snapshot into one exact closed Project desired state |
48
67
  | [`projmux runtime`](#projmux-runtime) | canonical | Manage the live and ephemeral tmux runtime inventory |
49
68
  | [`projmux settings`](#projmux-settings) | shortcut | Configure projmux |
50
69
  | [`projmux setup`](#projmux-setup) | canonical | Probe terminal keys or remediate them with setup terminal |
@@ -60,11 +79,17 @@ projmux <command> [args...]
60
79
 
61
80
  Manage Agent state, topic, integrations, and account usage
62
81
 
82
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
83
+
63
84
  ```
64
85
  projmux agent status [get [<agent-ref>] | set <unknown|idle|in_progress|approval_required|input_required|response_complete> [<agent-ref>]] [--agent <ref>]
65
86
  projmux agent topic get|clear [<agent-ref>] [--agent <ref>]
66
87
  projmux agent topic set <text> [<agent-ref>] [--agent <ref>]
67
88
  projmux agent resume <ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
89
+ projmux agent turn start|steer <agent-ref> -- <text>
90
+ projmux agent turn interrupt <agent-ref>
91
+ projmux agent approval review <agent-ref> [--request <normalized-id>]
92
+ projmux agent review [<agent-ref>] [--agent <ref>] [--base <branch> | --commit <sha> | --instructions <text>]
68
93
  projmux agent integrate <provider> [--dry-run]
69
94
  projmux agent usage [--model <name>] [--window <name>] [--json] [--force]
70
95
  ```
@@ -75,16 +100,21 @@ Subcommands:
75
100
  | --- | --- |
76
101
  | [`projmux agent status`](#projmux-agent-status) | Read or set semantic Agent interaction independently of lifecycle |
77
102
  | [`projmux agent topic`](#projmux-agent-topic) | Read, set, or clear one exact Agent topic annotation |
78
- | [`projmux agent resume`](#projmux-agent-resume) | Rebind an Offline or Failed Agent to a new managed Pane |
103
+ | [`projmux agent resume`](#projmux-agent-resume) | Rebind an Offline or Failed Agent detached on its Window's exact shell or Agent anchor |
104
+ | [`projmux agent turn`](#projmux-agent-turn) | Send, steer, or interrupt one exact native Codex turn |
105
+ | [`projmux agent approval`](#projmux-agent-approval) | Review one exact pending native Codex approval |
106
+ | [`projmux agent review`](#projmux-agent-review) | Start a native review on an exact-bound Codex Agent |
79
107
  | [`projmux agent integrate`](#projmux-agent-integrate) | Install or remove provider hook integrations |
80
108
  | [`projmux agent usage`](#projmux-agent-usage) | Read provider account usage quota snapshots |
81
109
 
82
- Canonical spelling: `projmux agent status`, `projmux agent topic`, `projmux agent resume`, `projmux agent integrate`, `projmux agent usage`
110
+ Canonical spelling: `projmux agent status`, `projmux agent topic`, `projmux agent resume`, `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`
83
111
 
84
112
  ### `projmux agent status`
85
113
 
86
114
  Read or set semantic Agent interaction independently of lifecycle
87
115
 
116
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
117
+
88
118
  ```
89
119
  projmux agent status [get [<agent-ref>] | set <unknown|idle|in_progress|approval_required|input_required|response_complete> [<agent-ref>]] [--agent <ref>]
90
120
  ```
@@ -93,6 +123,8 @@ projmux agent status [get [<agent-ref>] | set <unknown|idle|in_progress|approval
93
123
 
94
124
  Read, set, or clear one exact Agent topic annotation
95
125
 
126
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
127
+
96
128
  ```
97
129
  projmux agent topic get|clear [<agent-ref>] [--agent <ref>]
98
130
  projmux agent topic set <text> [<agent-ref>] [--agent <ref>]
@@ -100,16 +132,109 @@ projmux agent topic set <text> [<agent-ref>] [--agent <ref>]
100
132
 
101
133
  ### `projmux agent resume`
102
134
 
103
- Rebind an Offline or Failed Agent to a new managed Pane
135
+ Rebind an Offline or Failed Agent detached on its Window's exact shell or Agent anchor
136
+
137
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
104
138
 
105
139
  ```
106
140
  projmux agent resume <ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--selector key=value]...
107
141
  ```
108
142
 
143
+ ### `projmux agent turn`
144
+
145
+ Send, steer, or interrupt one exact native Codex turn
146
+
147
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
148
+
149
+ ```
150
+ projmux agent turn start|steer <agent-ref> -- <text>
151
+ projmux agent turn interrupt <agent-ref>
152
+ ```
153
+
154
+ Subcommands:
155
+
156
+ | Route | Summary |
157
+ | --- | --- |
158
+ | [`projmux agent turn start`](#projmux-agent-turn-start) | Send a new turn to one exact idle Codex thread |
159
+ | [`projmux agent turn steer`](#projmux-agent-turn-steer) | Steer one exact current Codex turn |
160
+ | [`projmux agent turn interrupt`](#projmux-agent-turn-interrupt) | Interrupt one exact current Codex turn |
161
+
162
+ Canonical spelling: `projmux agent turn start`, `projmux agent turn steer`, `projmux agent turn interrupt`
163
+
164
+ #### `projmux agent turn start`
165
+
166
+ Send a new turn to one exact idle Codex thread
167
+
168
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
169
+
170
+ ```
171
+ projmux agent turn start <agent-ref> -- <text>
172
+ ```
173
+
174
+ #### `projmux agent turn steer`
175
+
176
+ Steer one exact current Codex turn
177
+
178
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
179
+
180
+ ```
181
+ projmux agent turn steer <agent-ref> -- <text>
182
+ ```
183
+
184
+ #### `projmux agent turn interrupt`
185
+
186
+ Interrupt one exact current Codex turn
187
+
188
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
189
+
190
+ ```
191
+ projmux agent turn interrupt <agent-ref>
192
+ ```
193
+
194
+ ### `projmux agent approval`
195
+
196
+ Review one exact pending native Codex approval
197
+
198
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
199
+
200
+ ```
201
+ projmux agent approval review <agent-ref> [--request <normalized-id>]
202
+ ```
203
+
204
+ Subcommands:
205
+
206
+ | Route | Summary |
207
+ | --- | --- |
208
+ | [`projmux agent approval review`](#projmux-agent-approval-review) | Review one exact pending native Codex approval |
209
+
210
+ Canonical spelling: `projmux agent approval review`
211
+
212
+ #### `projmux agent approval review`
213
+
214
+ Review one exact pending native Codex approval
215
+
216
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
217
+
218
+ ```
219
+ projmux agent approval review <agent-ref> [--request <normalized-id>]
220
+ ```
221
+
222
+ ### `projmux agent review`
223
+
224
+ Start a native review on an exact-bound Codex Agent
225
+
226
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
227
+
228
+ ```
229
+ projmux agent review [<agent-ref>] [--agent <ref>] [--base <branch> | --commit <sha> | --instructions <text>]
230
+ ```
231
+
109
232
  ### `projmux agent integrate`
110
233
 
111
234
  Install or remove provider hook integrations
112
235
 
236
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
237
+
113
238
  ```
114
239
  projmux agent integrate <provider> [--dry-run]
115
240
  ```
@@ -118,6 +243,8 @@ projmux agent integrate <provider> [--dry-run]
118
243
 
119
244
  Read provider account usage quota snapshots
120
245
 
246
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
247
+
121
248
  ```
122
249
  projmux agent usage [--model <name>] [--window <name>] [--json] [--force]
123
250
  ```
@@ -126,6 +253,8 @@ projmux agent usage [--model <name>] [--window <name>] [--json] [--force]
126
253
 
127
254
  View and manage live tmux pane attention state
128
255
 
256
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
257
+
129
258
  ```
130
259
  projmux attention toggle|clear|arm|list|window
131
260
  ```
@@ -146,30 +275,38 @@ Canonical spelling: `projmux attention list`, `projmux attention toggle`, `projm
146
275
 
147
276
  Toggle attention state for a pane
148
277
 
278
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
279
+
149
280
  ```
150
- projmux attention toggle
281
+ projmux attention toggle [pane]
151
282
  ```
152
283
 
153
284
  ### `projmux attention clear`
154
285
 
155
286
  Clear attention state for a pane
156
287
 
288
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
289
+
157
290
  ```
158
- projmux attention clear
291
+ projmux attention clear [pane]
159
292
  ```
160
293
 
161
294
  ### `projmux attention arm`
162
295
 
163
296
  Arm focus-only attention consumption
164
297
 
298
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
299
+
165
300
  ```
166
- projmux attention arm
301
+ projmux attention arm [pane]
167
302
  ```
168
303
 
169
304
  ### `projmux attention list`
170
305
 
171
306
  List live pane attention state
172
307
 
308
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
309
+
173
310
  ```
174
311
  projmux attention list
175
312
  ```
@@ -178,6 +315,8 @@ projmux attention list
178
315
 
179
316
  Render window-scoped attention badges
180
317
 
318
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
319
+
181
320
  ```
182
321
  projmux attention window
183
322
  ```
@@ -186,6 +325,8 @@ projmux attention window
186
325
 
187
326
  Enter a Project runtime from outside tmux
188
327
 
328
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
329
+
189
330
  ```
190
331
  projmux attach project <ref>
191
332
  ```
@@ -202,6 +343,8 @@ Canonical spelling: `projmux attach project`
202
343
 
203
344
  Enter a Project runtime from outside tmux, materializing it when offline
204
345
 
346
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
347
+
205
348
  ```
206
349
  projmux attach project <ref>
207
350
  ```
@@ -210,6 +353,8 @@ projmux attach project <ref>
210
353
 
211
354
  Edit AI split-mode settings; render or apply generated tmux configuration
212
355
 
356
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
357
+
213
358
  ```
214
359
  projmux config edit [--get|--set <mode>]
215
360
  projmux config render standalone|app [--bin <path>]
@@ -230,6 +375,8 @@ Canonical spelling: `projmux config edit`, `projmux config render`, `projmux con
230
375
 
231
376
  Edit the AI split-mode configuration
232
377
 
378
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
379
+
233
380
  ```
234
381
  projmux config edit [--get|--set <mode>]
235
382
  ```
@@ -238,6 +385,8 @@ projmux config edit [--get|--set <mode>]
238
385
 
239
386
  Print a generated tmux config to stdout; writes nothing
240
387
 
388
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
389
+
241
390
  ```
242
391
  projmux config render standalone [--bin <path>]
243
392
  projmux config render app [--bin <path>]
@@ -254,6 +403,8 @@ Subcommands:
254
403
 
255
404
  Print the snippet you source from your own tmux.conf
256
405
 
406
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
407
+
257
408
  ```
258
409
  projmux config render standalone [--bin <path>]
259
410
  ```
@@ -264,6 +415,8 @@ Canonical spelling: `projmux config render`
264
415
 
265
416
  Print the config the app-owned projmux tmux server runs from
266
417
 
418
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
419
+
267
420
  ```
268
421
  projmux config render app [--bin <path>]
269
422
  ```
@@ -274,6 +427,8 @@ Canonical spelling: `projmux config render`
274
427
 
275
428
  Write the generated app tmux config and reload the live projmux server
276
429
 
430
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
431
+
277
432
  ```
278
433
  projmux config apply [--bin <path>] [--config <path>] [--socket <name>]
279
434
  ```
@@ -282,11 +437,14 @@ projmux config apply [--bin <path>] [--config <path>] [--socket <name>]
282
437
 
283
438
  Create Projmux resources
284
439
 
440
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
441
+
285
442
  ```
286
- projmux create window {--project <ref> | -p <ref>} [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
287
- projmux create pane {--project <ref> | -p <ref>} [--window <ref> | -w <ref>]... [--pane <ref>]... [--create-window] [--placement right|down] [-o <mode>] [-- <payload>]
288
- projmux create agent --provider <provider> {--project <ref> | -p <ref>} [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--pane <ref>]... [--create-window] [--placement right|down] [-o <mode>] [-- <payload>]
289
- projmux create codex|claude|antigravity {--project <ref> | -p <ref>} [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--create-window] [--placement right|down] [-o <mode>] [-- <payload>]
443
+ projmux create project --root <absolute-path> [--name <name>] [--label key=value]... [-o <mode>]
444
+ projmux create window [--project <ref> | -p <ref>] [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
445
+ projmux create pane [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--create-window] [--placement right|down] [-o <mode>] [-- <payload>]
446
+ projmux create agent --provider <provider> [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--pane <ref>]... [--create-window] [--placement right|down] [-o <mode>] [-- <payload>]
447
+ projmux create codex|claude|antigravity [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--create-window] [--placement right|down] [-o <mode>] [-- <payload>]
290
448
  projmux create notification --text <s> --target <SESSION[:WINDOW[.PANE]]> [--socket <s>]
291
449
  projmux create snapshot
292
450
  ```
@@ -295,9 +453,10 @@ Subcommands:
295
453
 
296
454
  | Route | Summary |
297
455
  | --- | --- |
456
+ | [`projmux create project`](#projmux-create-project) | Register one exact filesystem path as a Registry Project; no runtime is materialized |
298
457
  | [`projmux create window`](#projmux-create-window) | Create a Window and its initial Pane below one Project; the runtime is materialized detached |
299
- | [`projmux create pane`](#projmux-create-pane) | Create a shell Pane; --project splits the resolved Windows detached, without it the current Window |
300
- | [`projmux create agent`](#projmux-create-agent) | Create an Agent and its managed Pane; --provider is required, and --project splits the resolved Windows detached |
458
+ | [`projmux create pane`](#projmux-create-pane) | Create a shell Pane detached on an explicit Pane or the Window's exact shell or Agent anchor |
459
+ | [`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 |
301
460
  | [`projmux create notification`](#projmux-create-notification) | Create a pending notification row |
302
461
  | [`projmux create snapshot`](#projmux-create-snapshot) | Create a session snapshot |
303
462
 
@@ -309,36 +468,52 @@ Provider shortcuts:
309
468
  | [`projmux create claude`](#projmux-create-claude) | Provider shortcut for create agent --provider claude |
310
469
  | [`projmux create antigravity`](#projmux-create-antigravity) | Provider shortcut for create agent --provider antigravity |
311
470
 
312
- Canonical spelling: `projmux create window`, `projmux create pane`, `projmux create agent`, `projmux create notification`, `projmux create snapshot`, `projmux create codex`, `projmux create claude`, `projmux create antigravity`
471
+ Canonical spelling: `projmux create project`, `projmux create window`, `projmux create pane`, `projmux create agent`, `projmux create notification`, `projmux create snapshot`, `projmux create codex`, `projmux create claude`, `projmux create antigravity`
472
+
473
+ ### `projmux create project`
474
+
475
+ Register one exact filesystem path as a Registry Project; no runtime is materialized
476
+
477
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
478
+
479
+ ```
480
+ projmux create project --root <absolute-path> [--name <name>] [--label key=value]... [-o <mode>]
481
+ ```
482
+
483
+ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
313
484
 
314
485
  ### `projmux create window`
315
486
 
316
487
  Create a Window and its initial Pane below one Project; the runtime is materialized detached
317
488
 
489
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
490
+
318
491
  ```
319
- projmux create window {--project <ref> | -p <ref>} [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
492
+ projmux create window [--project <ref> | -p <ref>] [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
320
493
  ```
321
494
 
322
495
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
323
496
 
324
497
  ### `projmux create pane`
325
498
 
326
- Create a shell Pane; --project splits the resolved Windows detached, without it the current Window
499
+ Create a shell Pane detached on an explicit Pane or the Window's exact shell or Agent anchor
500
+
501
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
327
502
 
328
503
  ```
329
- projmux create pane {--project <ref> | -p <ref>} [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--name <name>] [--label key=value]... [--placement right|down] [-o <mode>] [-- <payload>]
330
- projmux create pane [--placement right|down] [-o <mode>]
504
+ projmux create pane [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--name <name>] [--label key=value]... [--placement right|down] [-o <mode>] [-- <payload>]
331
505
  ```
332
506
 
333
507
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
334
508
 
335
509
  ### `projmux create agent`
336
510
 
337
- Create an Agent and its managed Pane; --provider is required, and --project splits the resolved Windows detached
511
+ Create an Agent detached on an explicit Pane or the Window's exact shell or Agent anchor; --provider is required
512
+
513
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
338
514
 
339
515
  ```
340
- projmux create agent --provider <provider> {--project <ref> | -p <ref>} [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--name <name>] [--label key=value]... [--placement right|down] [-o <mode>] [-- <payload>]
341
- projmux create agent --provider <provider> [--placement right|down] [-o pane-id|none] [-- <payload>]
516
+ projmux create agent --provider <provider> [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--name <name>] [--label key=value]... [--placement right|down] [-o <mode>] [-- <payload>]
342
517
  ```
343
518
 
344
519
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
@@ -347,6 +522,8 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
347
522
 
348
523
  Create a pending notification row
349
524
 
525
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
526
+
350
527
  ```
351
528
  projmux create notification --text <s> --target <SESSION[:WINDOW[.PANE]]> [--socket <s>]
352
529
  ```
@@ -355,6 +532,8 @@ projmux create notification --text <s> --target <SESSION[:WINDOW[.PANE]]> [--soc
355
532
 
356
533
  Create a session snapshot
357
534
 
535
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
536
+
358
537
  ```
359
538
  projmux create snapshot
360
539
  ```
@@ -363,9 +542,10 @@ projmux create snapshot
363
542
 
364
543
  Provider shortcut for create agent --provider codex
365
544
 
545
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
546
+
366
547
  ```
367
- projmux create codex {--project <ref> | -p <ref>} [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--name <name>] [--label key=value]... [--placement right|down] [-o <mode>] [-- <payload>]
368
- projmux create codex [--placement right|down] [-o pane-id|none] [-- <payload>]
548
+ projmux create codex [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--name <name>] [--label key=value]... [--placement right|down] [-o <mode>] [-- <payload>]
369
549
  ```
370
550
 
371
551
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
@@ -374,9 +554,10 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
374
554
 
375
555
  Provider shortcut for create agent --provider claude
376
556
 
557
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
558
+
377
559
  ```
378
- projmux create claude {--project <ref> | -p <ref>} [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--name <name>] [--label key=value]... [--placement right|down] [-o <mode>] [-- <payload>]
379
- projmux create claude [--placement right|down] [-o pane-id|none] [-- <payload>]
560
+ projmux create claude [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--name <name>] [--label key=value]... [--placement right|down] [-o <mode>] [-- <payload>]
380
561
  ```
381
562
 
382
563
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
@@ -385,9 +566,10 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
385
566
 
386
567
  Provider shortcut for create agent --provider antigravity
387
568
 
569
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
570
+
388
571
  ```
389
- projmux create antigravity {--project <ref> | -p <ref>} [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--name <name>] [--label key=value]... [--placement right|down] [-o <mode>] [-- <payload>]
390
- projmux create antigravity [--placement right|down] [-o pane-id|none] [-- <payload>]
572
+ projmux create antigravity [--project <ref> | -p <ref>] [--cwd <path>] [--add-dir <path>]... [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--create-window] [--name <name>] [--label key=value]... [--placement right|down] [-o <mode>] [-- <payload>]
391
573
  ```
392
574
 
393
575
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
@@ -396,30 +578,48 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
396
578
 
397
579
  Delete Projmux resources with an explicit cascade plan
398
580
 
581
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
582
+
399
583
  ```
400
- projmux delete window [<ref>...] [--project <ref> | -p <ref>] [--selector key=value]... [--all] [--dry-run] [--yes]
401
- projmux delete pane [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--dry-run] [--yes]
402
- projmux delete agent [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--dry-run] [--yes]
584
+ projmux delete project [<ref>...] [--selector key=value]... [--all] [--dry-run] [--yes]
585
+ projmux delete window [<ref>...] [--project <ref> | -p <ref>] [--selector key=value]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
586
+ projmux delete pane [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
587
+ projmux delete agent [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
403
588
  ```
404
589
 
405
590
  Subcommands:
406
591
 
407
592
  | Route | Summary |
408
593
  | --- | --- |
594
+ | [`projmux delete project`](#projmux-delete-project) | Explicitly unregister Projects and Registry descendants while preserving roots, Git/worktrees, snapshots, and runtime |
409
595
  | [`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 |
410
596
  | [`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 |
411
597
  | [`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 |
412
598
  | [`projmux delete notification`](#projmux-delete-notification) | Delete pending notification rows |
413
599
  | [`projmux delete snapshot`](#projmux-delete-snapshot) | Delete saved session snapshots |
414
600
 
415
- Canonical spelling: `projmux delete window`, `projmux delete pane`, `projmux delete agent`, `projmux delete notification`, `projmux delete snapshot`
601
+ Canonical spelling: `projmux delete project`, `projmux delete window`, `projmux delete pane`, `projmux delete agent`, `projmux delete notification`, `projmux delete snapshot`
602
+
603
+ ### `projmux delete project`
604
+
605
+ Explicitly unregister Projects and Registry descendants while preserving roots, Git/worktrees, snapshots, and runtime
606
+
607
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
608
+
609
+ ```
610
+ projmux delete project [<ref>...] [--selector key=value]... [--all] [--dry-run] [--yes]
611
+ ```
612
+
613
+ Aliases: `projects`
416
614
 
417
615
  ### `projmux delete window`
418
616
 
419
617
  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
420
618
 
619
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
620
+
421
621
  ```
422
- projmux delete window [<ref>...] [--project <ref> | -p <ref>] [--selector key=value]... [--all] [--dry-run] [--yes]
622
+ projmux delete window [<ref>...] [--project <ref> | -p <ref>] [--selector key=value]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
423
623
  ```
424
624
 
425
625
  Aliases: `windows`
@@ -428,8 +628,10 @@ Aliases: `windows`
428
628
 
429
629
  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
430
630
 
631
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
632
+
431
633
  ```
432
- projmux delete pane [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--dry-run] [--yes]
634
+ projmux delete pane [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
433
635
  ```
434
636
 
435
637
  Aliases: `panes`
@@ -438,8 +640,10 @@ Aliases: `panes`
438
640
 
439
641
  Delete Agents and their managed Panes; no selector inside tmux means the active Agent, and --all means every Agent in the registry
440
642
 
643
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
644
+
441
645
  ```
442
- projmux delete agent [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--dry-run] [--yes]
646
+ projmux delete agent [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
443
647
  ```
444
648
 
445
649
  Aliases: `agents`
@@ -448,6 +652,8 @@ Aliases: `agents`
448
652
 
449
653
  Delete pending notification rows
450
654
 
655
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
656
+
451
657
  ```
452
658
  projmux delete notification
453
659
  ```
@@ -458,6 +664,8 @@ Aliases: `notifications`
458
664
 
459
665
  Delete saved session snapshots
460
666
 
667
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
668
+
461
669
  ```
462
670
  projmux delete snapshot
463
671
  ```
@@ -468,6 +676,8 @@ Aliases: `snapshots`
468
676
 
469
677
  Describe one Projmux resource
470
678
 
679
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
680
+
471
681
  ```
472
682
  projmux describe project [<ref>] [--project <ref> | -p <ref>] [-o <mode>]
473
683
  projmux describe window [<ref>] [--project <ref> | -p <ref>] [-o <mode>]
@@ -480,9 +690,9 @@ Subcommands:
480
690
  | Route | Summary |
481
691
  | --- | --- |
482
692
  | [`projmux describe project`](#projmux-describe-project) | Describe one Project resource; with no selector inside tmux, the active Project |
483
- | [`projmux describe window`](#projmux-describe-window) | Describe one Window resource; with no selector inside tmux, the active Window |
484
- | [`projmux describe pane`](#projmux-describe-pane) | Describe one Pane resource; with no selector inside tmux, the active Pane |
485
- | [`projmux describe agent`](#projmux-describe-agent) | Describe one Agent resource; with no selector inside tmux, the Agent owning the active Pane |
693
+ | [`projmux describe window`](#projmux-describe-window) | Describe one Window resource; inside tmux a reference resolves within the active Project and no selector means the active Window |
694
+ | [`projmux describe pane`](#projmux-describe-pane) | Describe one Pane resource; inside tmux a reference resolves within the active Project and no selector means the active Pane |
695
+ | [`projmux describe agent`](#projmux-describe-agent) | Describe one Agent resource; inside tmux a reference resolves within the active Project and no selector means the Agent owning the active Pane |
486
696
 
487
697
  Canonical spelling: `projmux describe project`, `projmux describe window`, `projmux describe pane`, `projmux describe agent`
488
698
 
@@ -490,6 +700,8 @@ Canonical spelling: `projmux describe project`, `projmux describe window`, `proj
490
700
 
491
701
  Describe one Project resource; with no selector inside tmux, the active Project
492
702
 
703
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
704
+
493
705
  ```
494
706
  projmux describe project [<ref>] [--project <ref> | -p <ref>] [-o <mode>]
495
707
  ```
@@ -500,7 +712,9 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
500
712
 
501
713
  ### `projmux describe window`
502
714
 
503
- Describe one Window resource; with no selector inside tmux, the active Window
715
+ Describe one Window resource; inside tmux a reference resolves within the active Project and no selector means the active Window
716
+
717
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
504
718
 
505
719
  ```
506
720
  projmux describe window [<ref>] [--project <ref> | -p <ref>] [-o <mode>]
@@ -512,7 +726,9 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
512
726
 
513
727
  ### `projmux describe pane`
514
728
 
515
- Describe one Pane resource; with no selector inside tmux, the active Pane
729
+ Describe one Pane resource; inside tmux a reference resolves within the active Project and no selector means the active Pane
730
+
731
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
516
732
 
517
733
  ```
518
734
  projmux describe pane [<ref>] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [-o <mode>]
@@ -524,7 +740,9 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
524
740
 
525
741
  ### `projmux describe agent`
526
742
 
527
- Describe one Agent resource; with no selector inside tmux, the Agent owning the active Pane
743
+ Describe one Agent resource; inside tmux a reference resolves within the active Project and no selector means the Agent owning the active Pane
744
+
745
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
528
746
 
529
747
  ```
530
748
  projmux describe agent [<ref>] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [-o <mode>]
@@ -538,6 +756,8 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
538
756
 
539
757
  Run read-only runtime and integration diagnostics
540
758
 
759
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
760
+
541
761
  ```
542
762
  projmux doctor [--json] [--section <name>] [--verbose]
543
763
  ```
@@ -546,6 +766,8 @@ projmux doctor [--json] [--section <name>] [--verbose]
546
766
 
547
767
  Read operational events or create an explicit local support report
548
768
 
769
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
770
+
549
771
  ```
550
772
  projmux diagnostics log [--json] [--tail <n>]
551
773
  projmux diagnostics agent-hook [--tail <n>] [--json] [--path]
@@ -566,6 +788,8 @@ Canonical spelling: `projmux diagnostics log`, `projmux diagnostics agent-hook`,
566
788
 
567
789
  Read the bounded local operations journal
568
790
 
791
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
792
+
569
793
  ```
570
794
  projmux diagnostics log
571
795
  ```
@@ -574,6 +798,8 @@ projmux diagnostics log
574
798
 
575
799
  Read the bounded Agent hook ingest journal
576
800
 
801
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
802
+
577
803
  ```
578
804
  projmux diagnostics agent-hook [--tail <n>] [--json] [--path]
579
805
  ```
@@ -582,6 +808,8 @@ projmux diagnostics agent-hook [--tail <n>] [--json] [--path]
582
808
 
583
809
  Create an explicit redacted local support report
584
810
 
811
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
812
+
585
813
  ```
586
814
  projmux diagnostics report
587
815
  ```
@@ -590,6 +818,8 @@ projmux diagnostics report
590
818
 
591
819
  Move the current client to a live resource
592
820
 
821
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
822
+
593
823
  ```
594
824
  projmux focus project <ref>
595
825
  projmux focus window <ref> {--project <ref> | -p <ref>}
@@ -601,8 +831,8 @@ Subcommands:
601
831
  | Route | Summary |
602
832
  | --- | --- |
603
833
  | [`projmux focus project`](#projmux-focus-project) | Move the current client to an already-live Project; never materializes |
604
- | [`projmux focus window`](#projmux-focus-window) | Move the current client to an already-live Window; never materializes |
605
- | [`projmux focus pane`](#projmux-focus-pane) | Move the current client to an already-live Pane; never materializes |
834
+ | [`projmux focus window`](#projmux-focus-window) | Move the current client to an already-live Window in an exact live root session; never materializes |
835
+ | [`projmux focus pane`](#projmux-focus-pane) | Move the current client to an already-live Pane in an exact live root session; never materializes |
606
836
 
607
837
  Canonical spelling: `projmux focus project`, `projmux focus window`, `projmux focus pane`
608
838
 
@@ -610,13 +840,17 @@ Canonical spelling: `projmux focus project`, `projmux focus window`, `projmux fo
610
840
 
611
841
  Move the current client to an already-live Project; never materializes
612
842
 
843
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
844
+
613
845
  ```
614
846
  projmux focus project <ref> [--socket <path>] [--client <tty>] [--json]
615
847
  ```
616
848
 
617
849
  ### `projmux focus window`
618
850
 
619
- Move the current client to an already-live Window; never materializes
851
+ Move the current client to an already-live Window in an exact live root session; never materializes
852
+
853
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
620
854
 
621
855
  ```
622
856
  projmux focus window <ref> {--project <ref> | -p <ref>} [--socket <path>] [--client <tty>] [--json]
@@ -624,7 +858,9 @@ projmux focus window <ref> {--project <ref> | -p <ref>} [--socket <path>] [--cli
624
858
 
625
859
  ### `projmux focus pane`
626
860
 
627
- Move the current client to an already-live Pane; never materializes
861
+ Move the current client to an already-live Pane in an exact live root session; never materializes
862
+
863
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
628
864
 
629
865
  ```
630
866
  projmux focus pane <ref> {--project <ref> | -p <ref>} {--window <ref> | -w <ref>} [--socket <path>] [--json]
@@ -634,6 +870,8 @@ projmux focus pane <ref> {--project <ref> | -p <ref>} {--window <ref> | -w <ref>
634
870
 
635
871
  Read Projmux resources by selector
636
872
 
873
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
874
+
637
875
  ```
638
876
  projmux get projects [--project <ref> | -p <ref>] [--selector key=value]... [-o <mode>]
639
877
  projmux get windows [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--selector key=value]... [--all-projects | -A] [-o <mode>]
@@ -641,6 +879,7 @@ projmux get panes [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [-
641
879
  projmux get agents [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--selector key=value]... [--all-projects | -A] [-o <mode>]
642
880
  projmux get pane --current -o cwd
643
881
  projmux get pane [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [-o <mode>]
882
+ projmux get runtime sessions|windows|panes [--socket <name> | --socket-path <absolute>] [-o json|none]
644
883
  ```
645
884
 
646
885
  Subcommands:
@@ -648,19 +887,22 @@ Subcommands:
648
887
  | Route | Summary |
649
888
  | --- | --- |
650
889
  | [`projmux get projects`](#projmux-get-projects) | List Project resources |
651
- | [`projmux get windows`](#projmux-get-windows) | List Window resources; inside tmux defaults to the active Project, and --all-projects lists every Project |
652
- | [`projmux get panes`](#projmux-get-panes) | List Pane resources; inside tmux defaults to the active Project, and --all-projects lists every Project |
653
- | [`projmux get agents`](#projmux-get-agents) | List Agent resources; inside tmux defaults to the active Project, and --all-projects lists every Project |
890
+ | [`projmux get windows`](#projmux-get-windows) | List Window resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry |
891
+ | [`projmux get panes`](#projmux-get-panes) | List Pane resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry |
892
+ | [`projmux get agents`](#projmux-get-agents) | List Agent resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry |
893
+ | [`projmux get runtime`](#projmux-get-runtime) | List every tmux Session, Window, and Pane on one exact server with its attribution |
654
894
  | [`projmux get notifications`](#projmux-get-notifications) | List pending notification rows |
655
895
  | [`projmux get snapshots`](#projmux-get-snapshots) | List saved session snapshots |
656
896
  | [`projmux get pane`](#projmux-get-pane) | Read one Pane resource; with no selector inside tmux, the active Pane |
657
897
 
658
- Canonical spelling: `projmux get projects`, `projmux get windows`, `projmux get panes`, `projmux get agents`, `projmux get notifications`, `projmux get snapshots`, `projmux get pane`
898
+ 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 snapshots`, `projmux get pane`
659
899
 
660
900
  ### `projmux get projects`
661
901
 
662
902
  List Project resources
663
903
 
904
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
905
+
664
906
  ```
665
907
  projmux get projects [--project <ref> | -p <ref>] [--selector key=value]... [-o <mode>]
666
908
  ```
@@ -671,7 +913,9 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
671
913
 
672
914
  ### `projmux get windows`
673
915
 
674
- List Window resources; inside tmux defaults to the active Project, and --all-projects lists every Project
916
+ List Window resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry
917
+
918
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
675
919
 
676
920
  ```
677
921
  projmux get windows [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--selector key=value]... [--all-projects | -A] [-o <mode>]
@@ -683,7 +927,9 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
683
927
 
684
928
  ### `projmux get panes`
685
929
 
686
- List Pane resources; inside tmux defaults to the active Project, and --all-projects lists every Project
930
+ List Pane resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry
931
+
932
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
687
933
 
688
934
  ```
689
935
  projmux get panes [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--all-projects | -A] [-o <mode>]
@@ -693,7 +939,9 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
693
939
 
694
940
  ### `projmux get agents`
695
941
 
696
- List Agent resources; inside tmux defaults to the active Project, and --all-projects lists every Project
942
+ List Agent resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry
943
+
944
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
697
945
 
698
946
  ```
699
947
  projmux get agents [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--selector key=value]... [--all-projects | -A] [-o <mode>]
@@ -703,10 +951,70 @@ Aliases: `agent`
703
951
 
704
952
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
705
953
 
954
+ ### `projmux get runtime`
955
+
956
+ List every tmux Session, Window, and Pane on one exact server with its attribution
957
+
958
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
959
+
960
+ ```
961
+ projmux get runtime sessions [--socket <name> | --socket-path <absolute>] [-o json|none]
962
+ projmux get runtime windows [--socket <name> | --socket-path <absolute>] [-o json|none]
963
+ projmux get runtime panes [--socket <name> | --socket-path <absolute>] [-o json|none]
964
+ ```
965
+
966
+ Subcommands:
967
+
968
+ | Route | Summary |
969
+ | --- | --- |
970
+ | [`projmux get runtime sessions`](#projmux-get-runtime-sessions) | List every tmux session on one exact server with its attribution |
971
+ | [`projmux get runtime windows`](#projmux-get-runtime-windows) | List every tmux window on one exact server with its attribution |
972
+ | [`projmux get runtime panes`](#projmux-get-runtime-panes) | List every tmux pane on one exact server with its attribution |
973
+
974
+ Canonical spelling: `projmux get runtime sessions`, `projmux get runtime windows`, `projmux get runtime panes`
975
+
976
+ #### `projmux get runtime sessions`
977
+
978
+ List every tmux session on one exact server with its attribution
979
+
980
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
981
+
982
+ ```
983
+ projmux get runtime sessions [--socket <name> | --socket-path <absolute>] [-o json|none]
984
+ ```
985
+
986
+ Output modes (`-o`): `json`, `none`
987
+
988
+ #### `projmux get runtime windows`
989
+
990
+ List every tmux window on one exact server with its attribution
991
+
992
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
993
+
994
+ ```
995
+ projmux get runtime windows [--socket <name> | --socket-path <absolute>] [-o json|none]
996
+ ```
997
+
998
+ Output modes (`-o`): `json`, `none`
999
+
1000
+ #### `projmux get runtime panes`
1001
+
1002
+ List every tmux pane on one exact server with its attribution
1003
+
1004
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1005
+
1006
+ ```
1007
+ projmux get runtime panes [--socket <name> | --socket-path <absolute>] [-o json|none]
1008
+ ```
1009
+
1010
+ Output modes (`-o`): `json`, `none`
1011
+
706
1012
  ### `projmux get notifications`
707
1013
 
708
1014
  List pending notification rows
709
1015
 
1016
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1017
+
710
1018
  ```
711
1019
  projmux get notifications
712
1020
  ```
@@ -717,6 +1025,8 @@ Aliases: `notification`
717
1025
 
718
1026
  List saved session snapshots
719
1027
 
1028
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1029
+
720
1030
  ```
721
1031
  projmux get snapshots
722
1032
  ```
@@ -727,6 +1037,8 @@ Aliases: `snapshot`
727
1037
 
728
1038
  Read one Pane resource; with no selector inside tmux, the active Pane
729
1039
 
1040
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1041
+
730
1042
  ```
731
1043
  projmux get pane [--current] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [-o <mode>]
732
1044
  ```
@@ -739,6 +1051,8 @@ Field projections (`-o`): `cwd`
739
1051
 
740
1052
  List, edit, validate, and trust lifecycle hook config
741
1053
 
1054
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1055
+
742
1056
  ```
743
1057
  projmux hook list|edit|validate|trust|untrust
744
1058
  ```
@@ -759,6 +1073,8 @@ Canonical spelling: `projmux hook list`, `projmux hook edit`, `projmux hook vali
759
1073
 
760
1074
  List global and project lifecycle hooks
761
1075
 
1076
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1077
+
762
1078
  ```
763
1079
  projmux hook list
764
1080
  ```
@@ -767,6 +1083,8 @@ projmux hook list
767
1083
 
768
1084
  Edit lifecycle hook config
769
1085
 
1086
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1087
+
770
1088
  ```
771
1089
  projmux hook edit
772
1090
  ```
@@ -775,6 +1093,8 @@ projmux hook edit
775
1093
 
776
1094
  Validate lifecycle hook config
777
1095
 
1096
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1097
+
778
1098
  ```
779
1099
  projmux hook validate
780
1100
  ```
@@ -783,6 +1103,8 @@ projmux hook validate
783
1103
 
784
1104
  Trust the current project hook config
785
1105
 
1106
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1107
+
786
1108
  ```
787
1109
  projmux hook trust
788
1110
  ```
@@ -791,6 +1113,8 @@ projmux hook trust
791
1113
 
792
1114
  Revoke project hook config trust
793
1115
 
1116
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1117
+
794
1118
  ```
795
1119
  projmux hook untrust
796
1120
  ```
@@ -799,6 +1123,8 @@ projmux hook untrust
799
1123
 
800
1124
  Manage pending notification workflow state
801
1125
 
1126
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1127
+
802
1128
  ```
803
1129
  projmux notification ack <id> | --all
804
1130
  projmux notification reconcile [--json]
@@ -817,6 +1143,8 @@ Canonical spelling: `projmux notification ack`, `projmux notification reconcile`
817
1143
 
818
1144
  Acknowledge notification rows
819
1145
 
1146
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
1147
+
820
1148
  ```
821
1149
  projmux notification ack <id> | --all
822
1150
  ```
@@ -825,6 +1153,8 @@ projmux notification ack <id> | --all
825
1153
 
826
1154
  Reconcile the notification queue against live targets
827
1155
 
1156
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1157
+
828
1158
  ```
829
1159
  projmux notification reconcile [--json]
830
1160
  ```
@@ -833,6 +1163,8 @@ projmux notification reconcile [--json]
833
1163
 
834
1164
  Manage pinned project directories
835
1165
 
1166
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1167
+
836
1168
  ```
837
1169
  projmux pin project list|add|remove|toggle|clear
838
1170
  ```
@@ -849,6 +1181,8 @@ Canonical spelling: `projmux pin project`
849
1181
 
850
1182
  Manage pinned project directories (canonical spelling)
851
1183
 
1184
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
1185
+
852
1186
  ```
853
1187
  projmux pin project list|add|remove|toggle|clear
854
1188
  ```
@@ -857,6 +1191,8 @@ projmux pin project list|add|remove|toggle|clear
857
1191
 
858
1192
  Prune stale Projects and snapshots
859
1193
 
1194
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1195
+
860
1196
  ```
861
1197
  projmux prune snapshot [--older-than <duration>]
862
1198
  projmux prune project --missing --older-than <duration> [--yes]
@@ -875,6 +1211,8 @@ Canonical spelling: `projmux prune project`, `projmux prune snapshot`
875
1211
 
876
1212
  Delete Projects whose spec.root has been missing for a bounded age
877
1213
 
1214
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1215
+
878
1216
  ```
879
1217
  projmux prune project --missing --older-than <duration> [--yes]
880
1218
  ```
@@ -883,6 +1221,8 @@ projmux prune project --missing --older-than <duration> [--yes]
883
1221
 
884
1222
  Inspect or delete preserved session snapshots (canonical spelling)
885
1223
 
1224
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1225
+
886
1226
  ```
887
1227
  projmux prune snapshot [--older-than <duration>]
888
1228
  projmux prune snapshot delete <session>...
@@ -894,6 +1234,8 @@ Canonical spelling: `projmux delete snapshot`
894
1234
 
895
1235
  Quit the app-owned projmux tmux runtime
896
1236
 
1237
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1238
+
897
1239
  ```
898
1240
  projmux quit [--yes|--force]
899
1241
  ```
@@ -902,30 +1244,48 @@ projmux quit [--yes|--force]
902
1244
 
903
1245
  Preview or repair Registry and exact tmux resource drift
904
1246
 
1247
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1248
+
905
1249
  ```
906
1250
  projmux reconcile resources [--dry-run] [--materialize-project <name|uid:uid>] [--socket <name> | --socket-path <absolute>] [-o json]
1251
+ projmux reconcile registry [--dry-run] [--source <name|absolute-path>] [--expect-source-checksum <sha256:hex>] [--expect-current-checksum <sha256:hex>] [--socket <name> | --socket-path <absolute>] [-o json]
907
1252
  ```
908
1253
 
909
1254
  Subcommands:
910
1255
 
911
1256
  | Route | Summary |
912
1257
  | --- | --- |
913
- | [`projmux reconcile resources`](#projmux-reconcile-resources) | Preview or repair safe Registry and tmux UID, owner, and runtime drift on one exact socket |
1258
+ | [`projmux reconcile resources`](#projmux-reconcile-resources) | Preview or repair exact anchor-aware Registry and tmux topology on one exact socket |
1259
+ | [`projmux reconcile registry`](#projmux-reconcile-registry) | Plan Registry state-loss recovery with zero writes, then restore one explicitly named verified source |
914
1260
 
915
- Canonical spelling: `projmux reconcile resources`
1261
+ Canonical spelling: `projmux reconcile resources`, `projmux reconcile registry`
916
1262
 
917
1263
  ### `projmux reconcile resources`
918
1264
 
919
- Preview or repair safe Registry and tmux UID, owner, and runtime drift on one exact socket
1265
+ Preview or repair exact anchor-aware Registry and tmux topology on one exact socket
1266
+
1267
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
920
1268
 
921
1269
  ```
922
1270
  projmux reconcile resources [--dry-run] [--materialize-project <name|uid:uid>] [--socket <name> | --socket-path <absolute>] [-o json]
923
1271
  ```
924
1272
 
1273
+ ### `projmux reconcile registry`
1274
+
1275
+ Plan Registry state-loss recovery with zero writes, then restore one explicitly named verified source
1276
+
1277
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
1278
+
1279
+ ```
1280
+ projmux reconcile registry [--dry-run] [--source <name|absolute-path>] [--expect-source-checksum <sha256:hex>] [--expect-current-checksum <sha256:hex>] [--socket <name> | --socket-path <absolute>] [-o json]
1281
+ ```
1282
+
925
1283
  ## `projmux rebind`
926
1284
 
927
1285
  Rebind a Project to a new absolute root without moving files
928
1286
 
1287
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1288
+
929
1289
  ```
930
1290
  projmux rebind project [<ref>] [--project <ref> | -p <ref>] --root <absolute-path>
931
1291
  ```
@@ -942,6 +1302,8 @@ Canonical spelling: `projmux rebind project`
942
1302
 
943
1303
  Rewrite one Project spec.root; no filesystem move, no heuristic uid merge
944
1304
 
1305
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1306
+
945
1307
  ```
946
1308
  projmux rebind project [<ref>] [--project <ref> | -p <ref>] --root <absolute-path>
947
1309
  ```
@@ -950,6 +1312,8 @@ projmux rebind project [<ref>] [--project <ref> | -p <ref>] --root <absolute-pat
950
1312
 
951
1313
  Rename a Projmux resource metadata.name
952
1314
 
1315
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1316
+
953
1317
  ```
954
1318
  projmux rename project [<ref>] [--project <ref> | -p <ref>] --name <name>
955
1319
  projmux rename window [<ref>] --name <name> [--project <ref> | -p <ref>]
@@ -962,9 +1326,9 @@ Subcommands:
962
1326
  | Route | Summary |
963
1327
  | --- | --- |
964
1328
  | [`projmux rename project`](#projmux-rename-project) | Rename a Projmux Project resource; with no selector inside tmux, the active Project |
965
- | [`projmux rename window`](#projmux-rename-window) | Rename a Projmux Window resource; with no selector inside tmux, the active Window |
966
- | [`projmux rename pane`](#projmux-rename-pane) | Rename a Projmux Pane resource; with no selector inside tmux, the active Pane; does not change tmux pane_title |
967
- | [`projmux rename agent`](#projmux-rename-agent) | Rename an Agent stable resource name without changing its topic, provider, or managed Pane |
1329
+ | [`projmux rename window`](#projmux-rename-window) | Rename a Projmux Window resource; inside tmux a reference resolves within the active Project or ControlSession and no selector means the active Window |
1330
+ | [`projmux rename pane`](#projmux-rename-pane) | Rename a Projmux Pane resource; inside tmux a reference resolves within the active Project or ControlSession and no selector means the active Pane; does not change tmux pane_title |
1331
+ | [`projmux rename agent`](#projmux-rename-agent) | Rename an Agent stable resource name within the active Project or ControlSession without changing its topic, provider, or managed Pane |
968
1332
 
969
1333
  Canonical spelling: `projmux rename project`, `projmux rename window`, `projmux rename pane`, `projmux rename agent`
970
1334
 
@@ -972,6 +1336,8 @@ Canonical spelling: `projmux rename project`, `projmux rename window`, `projmux
972
1336
 
973
1337
  Rename a Projmux Project resource; with no selector inside tmux, the active Project
974
1338
 
1339
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1340
+
975
1341
  ```
976
1342
  projmux rename project [<ref>] [--project <ref> | -p <ref>] --name <name>
977
1343
  ```
@@ -980,7 +1346,9 @@ Aliases: `projects`
980
1346
 
981
1347
  ### `projmux rename window`
982
1348
 
983
- Rename a Projmux Window resource; with no selector inside tmux, the active Window
1349
+ Rename a Projmux Window resource; inside tmux a reference resolves within the active Project or ControlSession and no selector means the active Window
1350
+
1351
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
984
1352
 
985
1353
  ```
986
1354
  projmux rename window [<ref>] --name <name> [--project <ref> | -p <ref>]
@@ -990,7 +1358,9 @@ Aliases: `windows`
990
1358
 
991
1359
  ### `projmux rename pane`
992
1360
 
993
- Rename a Projmux Pane resource; with no selector inside tmux, the active Pane; does not change tmux pane_title
1361
+ Rename a Projmux Pane resource; inside tmux a reference resolves within the active Project or ControlSession and no selector means the active Pane; does not change tmux pane_title
1362
+
1363
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
994
1364
 
995
1365
  ```
996
1366
  projmux rename pane [<ref>] --name <name> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
@@ -1000,7 +1370,9 @@ Aliases: `panes`
1000
1370
 
1001
1371
  ### `projmux rename agent`
1002
1372
 
1003
- Rename an Agent stable resource name without changing its topic, provider, or managed Pane
1373
+ Rename an Agent stable resource name within the active Project or ControlSession without changing its topic, provider, or managed Pane
1374
+
1375
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1004
1376
 
1005
1377
  ```
1006
1378
  projmux rename agent [<ref>] --name <name> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
@@ -1012,40 +1384,49 @@ Aliases: `agents`
1012
1384
 
1013
1385
  Inspect live Project, Window, and Pane CPU/RSS attribution
1014
1386
 
1387
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1388
+
1015
1389
  ```
1016
1390
  projmux resources
1017
1391
  ```
1018
1392
 
1019
1393
  ## `projmux restore`
1020
1394
 
1021
- Preview a saved session snapshot restore (--dry-run only in this release)
1395
+ Project a saved snapshot into one exact closed Project desired state
1396
+
1397
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1022
1398
 
1023
1399
  ```
1024
- projmux restore snapshot --dry-run [--session <name>]
1400
+ projmux restore snapshot --session <name> [--project <ref> | -p <ref>] [--dry-run | --yes] [--client <tmux-client>]
1025
1401
  ```
1026
1402
 
1027
1403
  Subcommands:
1028
1404
 
1029
1405
  | Route | Summary |
1030
1406
  | --- | --- |
1031
- | [`projmux restore snapshot`](#projmux-restore-snapshot) | Preview a saved session snapshot restore; --dry-run is required |
1407
+ | [`projmux restore snapshot`](#projmux-restore-snapshot) | Project a saved snapshot into one exact closed Project desired state |
1032
1408
 
1033
1409
  Canonical spelling: `projmux restore snapshot`
1034
1410
 
1035
1411
  ### `projmux restore snapshot`
1036
1412
 
1037
- Preview a saved session snapshot restore; --dry-run is required
1413
+ Project a saved snapshot into one exact closed Project desired state
1414
+
1415
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
1038
1416
 
1039
1417
  ```
1040
- projmux restore snapshot --dry-run [--session <name>]
1418
+ projmux restore snapshot --session <name> [--project <ref> | -p <ref>] [--dry-run | --yes] [--client <tmux-client>]
1041
1419
  ```
1042
1420
 
1043
1421
  ## `projmux runtime`
1044
1422
 
1045
1423
  Manage the live and ephemeral tmux runtime inventory
1046
1424
 
1425
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1426
+
1047
1427
  ```
1048
1428
  projmux runtime sessions [--ui=popup|sidebar]
1429
+ projmux runtime diagnostics [--socket <name> | --socket-path <absolute>] [--ui=popup|sidebar]
1049
1430
  projmux runtime attach [--keep=N] [--fallback=home|ephemeral]
1050
1431
  projmux runtime stop [<session>...]
1051
1432
  projmux runtime tag list|toggle|clear
@@ -1057,25 +1438,40 @@ Subcommands:
1057
1438
  | Route | Summary |
1058
1439
  | --- | --- |
1059
1440
  | [`projmux runtime sessions`](#projmux-runtime-sessions) | Pick a live or ephemeral tmux session |
1441
+ | [`projmux runtime diagnostics`](#projmux-runtime-diagnostics) | Inspect every tmux object on one exact server, with attribution and safe actions |
1060
1442
  | [`projmux runtime attach`](#projmux-runtime-attach) | Attach a live or ephemeral runtime without Project identity |
1061
1443
  | [`projmux runtime stop`](#projmux-runtime-stop) | Terminate live tmux sessions by tagged selection |
1062
1444
  | [`projmux runtime tag`](#projmux-runtime-tag) | Manage the ephemeral tagged session selection |
1063
1445
  | [`projmux runtime prune`](#projmux-runtime-prune) | Trim old ephemeral tmux sessions |
1064
1446
 
1065
- Canonical spelling: `projmux runtime sessions`, `projmux runtime attach`, `projmux runtime stop`, `projmux runtime tag`, `projmux runtime prune`
1447
+ Canonical spelling: `projmux runtime sessions`, `projmux runtime diagnostics`, `projmux runtime attach`, `projmux runtime stop`, `projmux runtime tag`, `projmux runtime prune`
1066
1448
 
1067
1449
  ### `projmux runtime sessions`
1068
1450
 
1069
1451
  Pick a live or ephemeral tmux session
1070
1452
 
1453
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1454
+
1071
1455
  ```
1072
1456
  projmux runtime sessions
1073
1457
  ```
1074
1458
 
1459
+ ### `projmux runtime diagnostics`
1460
+
1461
+ Inspect every tmux object on one exact server, with attribution and safe actions
1462
+
1463
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1464
+
1465
+ ```
1466
+ projmux runtime diagnostics [--socket <name> | --socket-path <absolute>] [--ui=popup|sidebar]
1467
+ ```
1468
+
1075
1469
  ### `projmux runtime attach`
1076
1470
 
1077
1471
  Attach a live or ephemeral runtime without Project identity
1078
1472
 
1473
+ Selectorless authority: `explicit-target` — the route or caller must name the exact target.
1474
+
1079
1475
  ```
1080
1476
  projmux runtime attach
1081
1477
  ```
@@ -1084,6 +1480,8 @@ projmux runtime attach
1084
1480
 
1085
1481
  Terminate live tmux sessions by tagged selection
1086
1482
 
1483
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1484
+
1087
1485
  ```
1088
1486
  projmux runtime stop
1089
1487
  ```
@@ -1092,6 +1490,8 @@ projmux runtime stop
1092
1490
 
1093
1491
  Manage the ephemeral tagged session selection
1094
1492
 
1493
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1494
+
1095
1495
  ```
1096
1496
  projmux runtime tag
1097
1497
  ```
@@ -1100,6 +1500,8 @@ projmux runtime tag
1100
1500
 
1101
1501
  Trim old ephemeral tmux sessions
1102
1502
 
1503
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1504
+
1103
1505
  ```
1104
1506
  projmux runtime prune
1105
1507
  ```
@@ -1108,6 +1510,8 @@ projmux runtime prune
1108
1510
 
1109
1511
  Configure projmux
1110
1512
 
1513
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1514
+
1111
1515
  ```
1112
1516
  projmux settings
1113
1517
  ```
@@ -1116,6 +1520,8 @@ projmux settings
1116
1520
 
1117
1521
  Probe terminal keys or remediate them with setup terminal
1118
1522
 
1523
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1524
+
1119
1525
  ```
1120
1526
  projmux setup
1121
1527
  projmux setup terminal [terminal] [--apply]
@@ -1133,6 +1539,8 @@ Canonical spelling: `projmux setup terminal`
1133
1539
 
1134
1540
  Show or apply terminal key remediation
1135
1541
 
1542
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1543
+
1136
1544
  ```
1137
1545
  projmux setup terminal [terminal] [--apply] [--config <path>] [--allow-symlink]
1138
1546
  ```
@@ -1141,6 +1549,8 @@ projmux setup terminal [terminal] [--apply] [--config <path>] [--allow-symlink]
1141
1549
 
1142
1550
  Open the isolated projmux tmux app
1143
1551
 
1552
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1553
+
1144
1554
  ```
1145
1555
  projmux shell [--session <name>]
1146
1556
  ```
@@ -1149,6 +1559,8 @@ projmux shell [--session <name>]
1149
1559
 
1150
1560
  Pick and open a project tmux session
1151
1561
 
1562
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1563
+
1152
1564
  ```
1153
1565
  projmux switch [<project>]
1154
1566
  ```
@@ -1159,6 +1571,8 @@ Canonical spelling: `projmux focus project`
1159
1571
 
1160
1572
  Check installer-aware release update status
1161
1573
 
1574
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1575
+
1162
1576
  ```
1163
1577
  projmux update status|check|apply
1164
1578
  ```
@@ -1177,6 +1591,8 @@ Canonical spelling: `projmux update status`, `projmux update check`, `projmux up
1177
1591
 
1178
1592
  Show read-only update status
1179
1593
 
1594
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1595
+
1180
1596
  ```
1181
1597
  projmux update status
1182
1598
  ```
@@ -1185,6 +1601,8 @@ projmux update status
1185
1601
 
1186
1602
  Check for a newer release and refresh the cache
1187
1603
 
1604
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1605
+
1188
1606
  ```
1189
1607
  projmux update check
1190
1608
  ```
@@ -1193,6 +1611,8 @@ projmux update check
1193
1611
 
1194
1612
  Apply an available update
1195
1613
 
1614
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1615
+
1196
1616
  ```
1197
1617
  projmux update apply
1198
1618
  ```
@@ -1201,6 +1621,8 @@ projmux update apply
1201
1621
 
1202
1622
  Reprint the shell welcome guide
1203
1623
 
1624
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1625
+
1204
1626
  ```
1205
1627
  projmux welcome [--popup [--force]]
1206
1628
  ```
@@ -1209,6 +1631,8 @@ projmux welcome [--popup [--force]]
1209
1631
 
1210
1632
  Open recent window navigation surfaces
1211
1633
 
1634
+ Selectorless authority: `refusal` — there is no safe selectorless action; refuse before output or mutation.
1635
+
1212
1636
  ```
1213
1637
  projmux window record|recent
1214
1638
  ```
@@ -1226,6 +1650,8 @@ Canonical spelling: `projmux get windows`, `projmux describe window`, `projmux c
1226
1650
 
1227
1651
  Record the current window into the MRU store
1228
1652
 
1653
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1654
+
1229
1655
  ```
1230
1656
  projmux window record
1231
1657
  ```
@@ -1236,6 +1662,8 @@ Canonical spelling: `projmux get windows`
1236
1662
 
1237
1663
  Open the recent-window navigation picker
1238
1664
 
1665
+ Selectorless authority: `natural-omitted` — omission resolves one predictable current resource or documented contextual read/scope; any selector replaces it.
1666
+
1239
1667
  ```
1240
1668
  projmux window recent
1241
1669
  ```
@@ -1246,6 +1674,8 @@ Canonical spelling: `projmux get windows`
1246
1674
 
1247
1675
  Show bootstrap help
1248
1676
 
1677
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1678
+
1249
1679
  ```
1250
1680
  projmux help
1251
1681
  projmux --help
@@ -1256,8 +1686,9 @@ projmux <route> --help
1256
1686
 
1257
1687
  Print the current version
1258
1688
 
1689
+ Selectorless authority: `explicit-fan-out` — the route spelling is an intentional global or whole-set opt-in.
1690
+
1259
1691
  ```
1260
1692
  projmux version
1261
1693
  projmux --version
1262
1694
  ```
1263
-