projmux 0.12.1 → 0.13.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/docs/cli.md CHANGED
@@ -44,7 +44,7 @@ projmux <command> [args...]
44
44
  | [`projmux rebind`](#projmux-rebind) | canonical | Rebind a Project to a new absolute root without moving files |
45
45
  | [`projmux rename`](#projmux-rename) | canonical | Rename a Projmux resource metadata.name |
46
46
  | [`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) |
47
+ | [`projmux restore`](#projmux-restore) | canonical | Project a saved snapshot into one exact closed Project desired state |
48
48
  | [`projmux runtime`](#projmux-runtime) | canonical | Manage the live and ephemeral tmux runtime inventory |
49
49
  | [`projmux settings`](#projmux-settings) | shortcut | Configure projmux |
50
50
  | [`projmux setup`](#projmux-setup) | canonical | Probe terminal keys or remediate them with setup terminal |
@@ -64,7 +64,11 @@ Manage Agent state, topic, integrations, and account usage
64
64
  projmux agent status [get [<agent-ref>] | set <unknown|idle|in_progress|approval_required|input_required|response_complete> [<agent-ref>]] [--agent <ref>]
65
65
  projmux agent topic get|clear [<agent-ref>] [--agent <ref>]
66
66
  projmux agent topic set <text> [<agent-ref>] [--agent <ref>]
67
- projmux agent resume <ref> [--project <ref>] [--window <ref>]...
67
+ projmux agent resume <ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
68
+ projmux agent turn start|steer <agent-ref> -- <text>
69
+ projmux agent turn interrupt <agent-ref>
70
+ projmux agent approval review <agent-ref> [--request <normalized-id>]
71
+ projmux agent review [<agent-ref>] [--agent <ref>] [--base <branch> | --commit <sha> | --instructions <text>]
68
72
  projmux agent integrate <provider> [--dry-run]
69
73
  projmux agent usage [--model <name>] [--window <name>] [--json] [--force]
70
74
  ```
@@ -75,11 +79,14 @@ Subcommands:
75
79
  | --- | --- |
76
80
  | [`projmux agent status`](#projmux-agent-status) | Read or set semantic Agent interaction independently of lifecycle |
77
81
  | [`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 |
82
+ | [`projmux agent resume`](#projmux-agent-resume) | Rebind an Offline or Failed Agent detached on its Window's exact shell or Agent anchor |
83
+ | [`projmux agent turn`](#projmux-agent-turn) | Send, steer, or interrupt one exact native Codex turn |
84
+ | [`projmux agent approval`](#projmux-agent-approval) | Review one exact pending native Codex approval |
85
+ | [`projmux agent review`](#projmux-agent-review) | Start a native review on an exact-bound Codex Agent |
79
86
  | [`projmux agent integrate`](#projmux-agent-integrate) | Install or remove provider hook integrations |
80
87
  | [`projmux agent usage`](#projmux-agent-usage) | Read provider account usage quota snapshots |
81
88
 
82
- Canonical spelling: `projmux agent status`, `projmux agent topic`, `projmux agent resume`, `projmux agent integrate`, `projmux agent usage`
89
+ 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
90
 
84
91
  ### `projmux agent status`
85
92
 
@@ -100,10 +107,85 @@ projmux agent topic set <text> [<agent-ref>] [--agent <ref>]
100
107
 
101
108
  ### `projmux agent resume`
102
109
 
103
- Rebind an Offline or Failed Agent to a new managed Pane
110
+ Rebind an Offline or Failed Agent detached on its Window's exact shell or Agent anchor
104
111
 
105
112
  ```
106
- projmux agent resume <ref> [--project <ref>] [--window <ref>]... [--selector key=value]...
113
+ projmux agent resume <ref> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--selector key=value]...
114
+ ```
115
+
116
+ ### `projmux agent turn`
117
+
118
+ Send, steer, or interrupt one exact native Codex turn
119
+
120
+ ```
121
+ projmux agent turn start|steer <agent-ref> -- <text>
122
+ projmux agent turn interrupt <agent-ref>
123
+ ```
124
+
125
+ Subcommands:
126
+
127
+ | Route | Summary |
128
+ | --- | --- |
129
+ | [`projmux agent turn start`](#projmux-agent-turn-start) | Send a new turn to one exact idle Codex thread |
130
+ | [`projmux agent turn steer`](#projmux-agent-turn-steer) | Steer one exact current Codex turn |
131
+ | [`projmux agent turn interrupt`](#projmux-agent-turn-interrupt) | Interrupt one exact current Codex turn |
132
+
133
+ Canonical spelling: `projmux agent turn start`, `projmux agent turn steer`, `projmux agent turn interrupt`
134
+
135
+ #### `projmux agent turn start`
136
+
137
+ Send a new turn to one exact idle Codex thread
138
+
139
+ ```
140
+ projmux agent turn start <agent-ref> -- <text>
141
+ ```
142
+
143
+ #### `projmux agent turn steer`
144
+
145
+ Steer one exact current Codex turn
146
+
147
+ ```
148
+ projmux agent turn steer <agent-ref> -- <text>
149
+ ```
150
+
151
+ #### `projmux agent turn interrupt`
152
+
153
+ Interrupt one exact current Codex turn
154
+
155
+ ```
156
+ projmux agent turn interrupt <agent-ref>
157
+ ```
158
+
159
+ ### `projmux agent approval`
160
+
161
+ Review one exact pending native Codex approval
162
+
163
+ ```
164
+ projmux agent approval review <agent-ref> [--request <normalized-id>]
165
+ ```
166
+
167
+ Subcommands:
168
+
169
+ | Route | Summary |
170
+ | --- | --- |
171
+ | [`projmux agent approval review`](#projmux-agent-approval-review) | Review one exact pending native Codex approval |
172
+
173
+ Canonical spelling: `projmux agent approval review`
174
+
175
+ #### `projmux agent approval review`
176
+
177
+ Review one exact pending native Codex approval
178
+
179
+ ```
180
+ projmux agent approval review <agent-ref> [--request <normalized-id>]
181
+ ```
182
+
183
+ ### `projmux agent review`
184
+
185
+ Start a native review on an exact-bound Codex Agent
186
+
187
+ ```
188
+ projmux agent review [<agent-ref>] [--agent <ref>] [--base <branch> | --commit <sha> | --instructions <text>]
107
189
  ```
108
190
 
109
191
  ### `projmux agent integrate`
@@ -283,10 +365,11 @@ projmux config apply [--bin <path>] [--config <path>] [--socket <name>]
283
365
  Create Projmux resources
284
366
 
285
367
  ```
286
- projmux create window --project <ref> [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
287
- projmux create pane --project <ref> [--window <ref>]... [--pane <ref>]... [--create-window] [--placement right|down] [-o <mode>] [-- <payload>]
288
- projmux create agent --provider <provider> --project <ref> [--cwd <path>] [--add-dir <path>]... [--window <ref>]... [--pane <ref>]... [--create-window] [--placement right|down] [-o <mode>] [-- <payload>]
289
- projmux create codex|claude|antigravity --project <ref> [--cwd <path>] [--add-dir <path>]... [--window <ref>]... [--create-window] [--placement right|down] [-o <mode>] [-- <payload>]
368
+ projmux create project --root <absolute-path> [--name <name>] [--label key=value]... [-o <mode>]
369
+ projmux create window [--project <ref> | -p <ref>] [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
370
+ projmux create pane [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--create-window] [--placement right|down] [-o <mode>] [-- <payload>]
371
+ 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>]
372
+ 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
373
  projmux create notification --text <s> --target <SESSION[:WINDOW[.PANE]]> [--socket <s>]
291
374
  projmux create snapshot
292
375
  ```
@@ -295,9 +378,10 @@ Subcommands:
295
378
 
296
379
  | Route | Summary |
297
380
  | --- | --- |
381
+ | [`projmux create project`](#projmux-create-project) | Register one exact filesystem path as a Registry Project; no runtime is materialized |
298
382
  | [`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 |
383
+ | [`projmux create pane`](#projmux-create-pane) | Create a shell Pane detached on an explicit Pane or the Window's exact shell or Agent anchor |
384
+ | [`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
385
  | [`projmux create notification`](#projmux-create-notification) | Create a pending notification row |
302
386
  | [`projmux create snapshot`](#projmux-create-snapshot) | Create a session snapshot |
303
387
 
@@ -309,36 +393,44 @@ Provider shortcuts:
309
393
  | [`projmux create claude`](#projmux-create-claude) | Provider shortcut for create agent --provider claude |
310
394
  | [`projmux create antigravity`](#projmux-create-antigravity) | Provider shortcut for create agent --provider antigravity |
311
395
 
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`
396
+ 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`
397
+
398
+ ### `projmux create project`
399
+
400
+ Register one exact filesystem path as a Registry Project; no runtime is materialized
401
+
402
+ ```
403
+ projmux create project --root <absolute-path> [--name <name>] [--label key=value]... [-o <mode>]
404
+ ```
405
+
406
+ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
313
407
 
314
408
  ### `projmux create window`
315
409
 
316
410
  Create a Window and its initial Pane below one Project; the runtime is materialized detached
317
411
 
318
412
  ```
319
- projmux create window --project <ref> [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
413
+ projmux create window [--project <ref> | -p <ref>] [--name <name>] [--label key=value]... [-o <mode>] [-- <payload>]
320
414
  ```
321
415
 
322
416
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
323
417
 
324
418
  ### `projmux create pane`
325
419
 
326
- Create a shell Pane; --project splits the resolved Windows detached, without it the current Window
420
+ Create a shell Pane detached on an explicit Pane or the Window's exact shell or Agent anchor
327
421
 
328
422
  ```
329
- projmux create pane --project <ref> [--window <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>]
423
+ 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
424
  ```
332
425
 
333
426
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
334
427
 
335
428
  ### `projmux create agent`
336
429
 
337
- Create an Agent and its managed Pane; --provider is required, and --project splits the resolved Windows detached
430
+ Create an Agent detached on an explicit Pane or the Window's exact shell or Agent anchor; --provider is required
338
431
 
339
432
  ```
340
- projmux create agent --provider <provider> --project <ref> [--cwd <path>] [--add-dir <path>]... [--window <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>]
433
+ 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
434
  ```
343
435
 
344
436
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
@@ -364,8 +456,7 @@ projmux create snapshot
364
456
  Provider shortcut for create agent --provider codex
365
457
 
366
458
  ```
367
- projmux create codex --project <ref> [--cwd <path>] [--add-dir <path>]... [--window <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>]
459
+ 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
460
  ```
370
461
 
371
462
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
@@ -375,8 +466,7 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
375
466
  Provider shortcut for create agent --provider claude
376
467
 
377
468
  ```
378
- projmux create claude --project <ref> [--cwd <path>] [--add-dir <path>]... [--window <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>]
469
+ 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
470
  ```
381
471
 
382
472
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
@@ -386,8 +476,7 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
386
476
  Provider shortcut for create agent --provider antigravity
387
477
 
388
478
  ```
389
- projmux create antigravity --project <ref> [--cwd <path>] [--add-dir <path>]... [--window <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>]
479
+ 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
480
  ```
392
481
 
393
482
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
@@ -397,29 +486,41 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `pane-id`, `none`
397
486
  Delete Projmux resources with an explicit cascade plan
398
487
 
399
488
  ```
400
- projmux delete window [<ref>...] [--project <ref>] [--selector key=value]... [--all] [--dry-run] [--yes]
401
- projmux delete pane [<ref>...] [--project <ref>] [--window <ref>]... [--all] [--dry-run] [--yes]
402
- projmux delete agent [<ref>...] [--project <ref>] [--window <ref>]... [--all] [--dry-run] [--yes]
489
+ projmux delete project [<ref>...] [--selector key=value]... [--all] [--dry-run] [--yes]
490
+ projmux delete window [<ref>...] [--project <ref> | -p <ref>] [--selector key=value]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
491
+ projmux delete pane [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
492
+ projmux delete agent [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
403
493
  ```
404
494
 
405
495
  Subcommands:
406
496
 
407
497
  | Route | Summary |
408
498
  | --- | --- |
409
- | [`projmux delete window`](#projmux-delete-window) | Delete exact live tmux Windows and every descendant Agent and Pane; no selector inside tmux means the active Window, and --all means every Window in the registry |
499
+ | [`projmux delete project`](#projmux-delete-project) | Explicitly unregister Projects and Registry descendants while preserving roots, Git/worktrees, snapshots, and runtime |
500
+ | [`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
501
  | [`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
502
  | [`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
503
  | [`projmux delete notification`](#projmux-delete-notification) | Delete pending notification rows |
413
504
  | [`projmux delete snapshot`](#projmux-delete-snapshot) | Delete saved session snapshots |
414
505
 
415
- Canonical spelling: `projmux delete window`, `projmux delete pane`, `projmux delete agent`, `projmux delete notification`, `projmux delete snapshot`
506
+ Canonical spelling: `projmux delete project`, `projmux delete window`, `projmux delete pane`, `projmux delete agent`, `projmux delete notification`, `projmux delete snapshot`
507
+
508
+ ### `projmux delete project`
509
+
510
+ Explicitly unregister Projects and Registry descendants while preserving roots, Git/worktrees, snapshots, and runtime
511
+
512
+ ```
513
+ projmux delete project [<ref>...] [--selector key=value]... [--all] [--dry-run] [--yes]
514
+ ```
515
+
516
+ Aliases: `projects`
416
517
 
417
518
  ### `projmux delete window`
418
519
 
419
- Delete exact live tmux Windows and every descendant Agent and Pane; no selector inside tmux means the active Window, and --all means every Window in the registry
520
+ 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
521
 
421
522
  ```
422
- projmux delete window [<ref>...] [--project <ref>] [--selector key=value]... [--all] [--dry-run] [--yes]
523
+ projmux delete window [<ref>...] [--project <ref> | -p <ref>] [--selector key=value]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
423
524
  ```
424
525
 
425
526
  Aliases: `windows`
@@ -429,7 +530,7 @@ Aliases: `windows`
429
530
  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
531
 
431
532
  ```
432
- projmux delete pane [<ref>...] [--project <ref>] [--window <ref>]... [--all] [--dry-run] [--yes]
533
+ projmux delete pane [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
433
534
  ```
434
535
 
435
536
  Aliases: `panes`
@@ -439,7 +540,7 @@ Aliases: `panes`
439
540
  Delete Agents and their managed Panes; no selector inside tmux means the active Agent, and --all means every Agent in the registry
440
541
 
441
542
  ```
442
- projmux delete agent [<ref>...] [--project <ref>] [--window <ref>]... [--all] [--dry-run] [--yes]
543
+ projmux delete agent [<ref>...] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--all] [--socket <name> | --socket-path <absolute>] [--dry-run] [--yes]
443
544
  ```
444
545
 
445
546
  Aliases: `agents`
@@ -469,10 +570,10 @@ Aliases: `snapshots`
469
570
  Describe one Projmux resource
470
571
 
471
572
  ```
472
- projmux describe project [<ref>] [-o <mode>]
473
- projmux describe window [<ref>] [--project <ref>] [-o <mode>]
474
- projmux describe pane [<ref>] [--project <ref>] [--window <ref>]... [-o <mode>]
475
- projmux describe agent [<ref>] [--project <ref>] [--window <ref>]... [-o <mode>]
573
+ projmux describe project [<ref>] [--project <ref> | -p <ref>] [-o <mode>]
574
+ projmux describe window [<ref>] [--project <ref> | -p <ref>] [-o <mode>]
575
+ projmux describe pane [<ref>] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [-o <mode>]
576
+ projmux describe agent [<ref>] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [-o <mode>]
476
577
  ```
477
578
 
478
579
  Subcommands:
@@ -480,9 +581,9 @@ Subcommands:
480
581
  | Route | Summary |
481
582
  | --- | --- |
482
583
  | [`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 |
584
+ | [`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 |
585
+ | [`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 |
586
+ | [`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
587
 
487
588
  Canonical spelling: `projmux describe project`, `projmux describe window`, `projmux describe pane`, `projmux describe agent`
488
589
 
@@ -491,7 +592,7 @@ Canonical spelling: `projmux describe project`, `projmux describe window`, `proj
491
592
  Describe one Project resource; with no selector inside tmux, the active Project
492
593
 
493
594
  ```
494
- projmux describe project
595
+ projmux describe project [<ref>] [--project <ref> | -p <ref>] [-o <mode>]
495
596
  ```
496
597
 
497
598
  Aliases: `projects`
@@ -500,10 +601,10 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
500
601
 
501
602
  ### `projmux describe window`
502
603
 
503
- Describe one Window resource; with no selector inside tmux, the active Window
604
+ Describe one Window resource; inside tmux a reference resolves within the active Project and no selector means the active Window
504
605
 
505
606
  ```
506
- projmux describe window
607
+ projmux describe window [<ref>] [--project <ref> | -p <ref>] [-o <mode>]
507
608
  ```
508
609
 
509
610
  Aliases: `windows`
@@ -512,10 +613,10 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
512
613
 
513
614
  ### `projmux describe pane`
514
615
 
515
- Describe one Pane resource; with no selector inside tmux, the active Pane
616
+ Describe one Pane resource; inside tmux a reference resolves within the active Project and no selector means the active Pane
516
617
 
517
618
  ```
518
- projmux describe pane
619
+ projmux describe pane [<ref>] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [-o <mode>]
519
620
  ```
520
621
 
521
622
  Aliases: `panes`
@@ -524,10 +625,10 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
524
625
 
525
626
  ### `projmux describe agent`
526
627
 
527
- Describe one Agent resource; with no selector inside tmux, the Agent owning the active Pane
628
+ Describe one Agent resource; inside tmux a reference resolves within the active Project and no selector means the Agent owning the active Pane
528
629
 
529
630
  ```
530
- projmux describe agent
631
+ projmux describe agent [<ref>] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [-o <mode>]
531
632
  ```
532
633
 
533
634
  Aliases: `agents`
@@ -592,8 +693,8 @@ Move the current client to a live resource
592
693
 
593
694
  ```
594
695
  projmux focus project <ref>
595
- projmux focus window <ref> --project <ref>
596
- projmux focus pane <ref> --project <ref> --window <ref>
696
+ projmux focus window <ref> {--project <ref> | -p <ref>}
697
+ projmux focus pane <ref> {--project <ref> | -p <ref>} {--window <ref> | -w <ref>}
597
698
  ```
598
699
 
599
700
  Subcommands:
@@ -601,8 +702,8 @@ Subcommands:
601
702
  | Route | Summary |
602
703
  | --- | --- |
603
704
  | [`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 |
705
+ | [`projmux focus window`](#projmux-focus-window) | Move the current client to an already-live Window in an exact live root session; never materializes |
706
+ | [`projmux focus pane`](#projmux-focus-pane) | Move the current client to an already-live Pane in an exact live root session; never materializes |
606
707
 
607
708
  Canonical spelling: `projmux focus project`, `projmux focus window`, `projmux focus pane`
608
709
 
@@ -616,18 +717,18 @@ projmux focus project <ref> [--socket <path>] [--client <tty>] [--json]
616
717
 
617
718
  ### `projmux focus window`
618
719
 
619
- Move the current client to an already-live Window; never materializes
720
+ Move the current client to an already-live Window in an exact live root session; never materializes
620
721
 
621
722
  ```
622
- projmux focus window <ref> --project <ref> [--socket <path>] [--client <tty>] [--json]
723
+ projmux focus window <ref> {--project <ref> | -p <ref>} [--socket <path>] [--client <tty>] [--json]
623
724
  ```
624
725
 
625
726
  ### `projmux focus pane`
626
727
 
627
- Move the current client to an already-live Pane; never materializes
728
+ Move the current client to an already-live Pane in an exact live root session; never materializes
628
729
 
629
730
  ```
630
- projmux focus pane <ref> --project <ref> --window <ref> [--socket <path>] [--json]
731
+ projmux focus pane <ref> {--project <ref> | -p <ref>} {--window <ref> | -w <ref>} [--socket <path>] [--json]
631
732
  ```
632
733
 
633
734
  ## `projmux get`
@@ -635,12 +736,13 @@ projmux focus pane <ref> --project <ref> --window <ref> [--socket <path>] [--jso
635
736
  Read Projmux resources by selector
636
737
 
637
738
  ```
638
- projmux get projects [--project <ref>] [--selector key=value]... [-o <mode>]
639
- projmux get windows [--project <ref>] [--window <ref>]... [--selector key=value]... [--all-projects] [-o <mode>]
640
- projmux get panes [--project <ref>] [--window <ref>]... [--pane <ref>]... [--selector key=value]... [--all-projects] [-o <mode>]
641
- projmux get agents [--project <ref>] [--window <ref>]... [--selector key=value]... [--all-projects] [-o <mode>]
739
+ projmux get projects [--project <ref> | -p <ref>] [--selector key=value]... [-o <mode>]
740
+ projmux get windows [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--selector key=value]... [--all-projects | -A] [-o <mode>]
741
+ projmux get panes [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--all-projects | -A] [-o <mode>]
742
+ projmux get agents [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--selector key=value]... [--all-projects | -A] [-o <mode>]
642
743
  projmux get pane --current -o cwd
643
- projmux get pane [--project <ref>] [--window <ref>]... [--pane <ref>]... [--selector key=value]... [-o <mode>]
744
+ projmux get pane [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [-o <mode>]
745
+ projmux get runtime sessions|windows|panes [--socket <name> | --socket-path <absolute>] [-o json|none]
644
746
  ```
645
747
 
646
748
  Subcommands:
@@ -648,21 +750,22 @@ Subcommands:
648
750
  | Route | Summary |
649
751
  | --- | --- |
650
752
  | [`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 |
753
+ | [`projmux get windows`](#projmux-get-windows) | List Window resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry |
754
+ | [`projmux get panes`](#projmux-get-panes) | List Pane resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry |
755
+ | [`projmux get agents`](#projmux-get-agents) | List Agent resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry |
756
+ | [`projmux get runtime`](#projmux-get-runtime) | List every tmux Session, Window, and Pane on one exact server with its attribution |
654
757
  | [`projmux get notifications`](#projmux-get-notifications) | List pending notification rows |
655
758
  | [`projmux get snapshots`](#projmux-get-snapshots) | List saved session snapshots |
656
759
  | [`projmux get pane`](#projmux-get-pane) | Read one Pane resource; with no selector inside tmux, the active Pane |
657
760
 
658
- Canonical spelling: `projmux get projects`, `projmux get windows`, `projmux get panes`, `projmux get agents`, `projmux get notifications`, `projmux get snapshots`, `projmux get pane`
761
+ 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
762
 
660
763
  ### `projmux get projects`
661
764
 
662
765
  List Project resources
663
766
 
664
767
  ```
665
- projmux get projects
768
+ projmux get projects [--project <ref> | -p <ref>] [--selector key=value]... [-o <mode>]
666
769
  ```
667
770
 
668
771
  Aliases: `project`
@@ -671,10 +774,10 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
671
774
 
672
775
  ### `projmux get windows`
673
776
 
674
- List Window resources; inside tmux defaults to the active Project, and --all-projects lists every Project
777
+ List Window resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry
675
778
 
676
779
  ```
677
- projmux get windows [--project <ref>] [--window <ref>]... [--selector key=value]... [--all-projects] [-o <mode>]
780
+ projmux get windows [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--selector key=value]... [--all-projects | -A] [-o <mode>]
678
781
  ```
679
782
 
680
783
  Aliases: `window`
@@ -683,26 +786,76 @@ Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
683
786
 
684
787
  ### `projmux get panes`
685
788
 
686
- List Pane resources; inside tmux defaults to the active Project, and --all-projects lists every Project
789
+ List Pane resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry
687
790
 
688
791
  ```
689
- projmux get panes [--project <ref>] [--window <ref>]... [--pane <ref>]... [--selector key=value]... [--all-projects] [-o <mode>]
792
+ projmux get panes [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [--all-projects | -A] [-o <mode>]
690
793
  ```
691
794
 
692
795
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
693
796
 
694
797
  ### `projmux get agents`
695
798
 
696
- List Agent resources; inside tmux defaults to the active Project, and --all-projects lists every Project
799
+ List Agent resources; inside tmux defaults to the active managed root, and --all-projects lists the whole Registry
697
800
 
698
801
  ```
699
- projmux get agents [--project <ref>] [--window <ref>]... [--selector key=value]... [--all-projects] [-o <mode>]
802
+ projmux get agents [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--selector key=value]... [--all-projects | -A] [-o <mode>]
700
803
  ```
701
804
 
702
805
  Aliases: `agent`
703
806
 
704
807
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
705
808
 
809
+ ### `projmux get runtime`
810
+
811
+ List every tmux Session, Window, and Pane on one exact server with its attribution
812
+
813
+ ```
814
+ projmux get runtime sessions [--socket <name> | --socket-path <absolute>] [-o json|none]
815
+ projmux get runtime windows [--socket <name> | --socket-path <absolute>] [-o json|none]
816
+ projmux get runtime panes [--socket <name> | --socket-path <absolute>] [-o json|none]
817
+ ```
818
+
819
+ Subcommands:
820
+
821
+ | Route | Summary |
822
+ | --- | --- |
823
+ | [`projmux get runtime sessions`](#projmux-get-runtime-sessions) | List every tmux session on one exact server with its attribution |
824
+ | [`projmux get runtime windows`](#projmux-get-runtime-windows) | List every tmux window on one exact server with its attribution |
825
+ | [`projmux get runtime panes`](#projmux-get-runtime-panes) | List every tmux pane on one exact server with its attribution |
826
+
827
+ Canonical spelling: `projmux get runtime sessions`, `projmux get runtime windows`, `projmux get runtime panes`
828
+
829
+ #### `projmux get runtime sessions`
830
+
831
+ List every tmux session on one exact server with its attribution
832
+
833
+ ```
834
+ projmux get runtime sessions [--socket <name> | --socket-path <absolute>] [-o json|none]
835
+ ```
836
+
837
+ Output modes (`-o`): `json`, `none`
838
+
839
+ #### `projmux get runtime windows`
840
+
841
+ List every tmux window on one exact server with its attribution
842
+
843
+ ```
844
+ projmux get runtime windows [--socket <name> | --socket-path <absolute>] [-o json|none]
845
+ ```
846
+
847
+ Output modes (`-o`): `json`, `none`
848
+
849
+ #### `projmux get runtime panes`
850
+
851
+ List every tmux pane on one exact server with its attribution
852
+
853
+ ```
854
+ projmux get runtime panes [--socket <name> | --socket-path <absolute>] [-o json|none]
855
+ ```
856
+
857
+ Output modes (`-o`): `json`, `none`
858
+
706
859
  ### `projmux get notifications`
707
860
 
708
861
  List pending notification rows
@@ -728,7 +881,7 @@ Aliases: `snapshot`
728
881
  Read one Pane resource; with no selector inside tmux, the active Pane
729
882
 
730
883
  ```
731
- projmux get pane [--current] [--project <ref>] [--window <ref>]... [--pane <ref>]... [--selector key=value]... [-o <mode>]
884
+ projmux get pane [--current] [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]... [--pane <ref>]... [--selector key=value]... [-o <mode>]
732
885
  ```
733
886
 
734
887
  Output modes (`-o`): `uid`, `name`, `ref`, `metadata`, `json`, `none`
@@ -903,23 +1056,33 @@ projmux quit [--yes|--force]
903
1056
  Preview or repair Registry and exact tmux resource drift
904
1057
 
905
1058
  ```
906
- projmux reconcile resources [--dry-run] [--socket <name> | --socket-path <absolute>] [-o json]
1059
+ projmux reconcile resources [--dry-run] [--materialize-project <name|uid:uid>] [--socket <name> | --socket-path <absolute>] [-o json]
1060
+ 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
1061
  ```
908
1062
 
909
1063
  Subcommands:
910
1064
 
911
1065
  | Route | Summary |
912
1066
  | --- | --- |
913
- | [`projmux reconcile resources`](#projmux-reconcile-resources) | Preview or repair safe Registry and tmux UID, owner, and runtime drift on one exact socket |
1067
+ | [`projmux reconcile resources`](#projmux-reconcile-resources) | Preview or repair exact anchor-aware Registry and tmux topology on one exact socket |
1068
+ | [`projmux reconcile registry`](#projmux-reconcile-registry) | Plan Registry state-loss recovery with zero writes, then restore one explicitly named verified source |
914
1069
 
915
- Canonical spelling: `projmux reconcile resources`
1070
+ Canonical spelling: `projmux reconcile resources`, `projmux reconcile registry`
916
1071
 
917
1072
  ### `projmux reconcile resources`
918
1073
 
919
- Preview or repair safe Registry and tmux UID, owner, and runtime drift on one exact socket
1074
+ Preview or repair exact anchor-aware Registry and tmux topology on one exact socket
1075
+
1076
+ ```
1077
+ projmux reconcile resources [--dry-run] [--materialize-project <name|uid:uid>] [--socket <name> | --socket-path <absolute>] [-o json]
1078
+ ```
1079
+
1080
+ ### `projmux reconcile registry`
1081
+
1082
+ Plan Registry state-loss recovery with zero writes, then restore one explicitly named verified source
920
1083
 
921
1084
  ```
922
- projmux reconcile resources [--dry-run] [--socket <name> | --socket-path <absolute>] [-o json]
1085
+ 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]
923
1086
  ```
924
1087
 
925
1088
  ## `projmux rebind`
@@ -927,7 +1090,7 @@ projmux reconcile resources [--dry-run] [--socket <name> | --socket-path <absolu
927
1090
  Rebind a Project to a new absolute root without moving files
928
1091
 
929
1092
  ```
930
- projmux rebind project [<ref>] --root <absolute-path>
1093
+ projmux rebind project [<ref>] [--project <ref> | -p <ref>] --root <absolute-path>
931
1094
  ```
932
1095
 
933
1096
  Subcommands:
@@ -943,7 +1106,7 @@ Canonical spelling: `projmux rebind project`
943
1106
  Rewrite one Project spec.root; no filesystem move, no heuristic uid merge
944
1107
 
945
1108
  ```
946
- projmux rebind project [<ref>] --root <absolute-path>
1109
+ projmux rebind project [<ref>] [--project <ref> | -p <ref>] --root <absolute-path>
947
1110
  ```
948
1111
 
949
1112
  ## `projmux rename`
@@ -951,10 +1114,10 @@ projmux rebind project [<ref>] --root <absolute-path>
951
1114
  Rename a Projmux resource metadata.name
952
1115
 
953
1116
  ```
954
- projmux rename project [<ref>] --name <name>
955
- projmux rename window [<ref>] --name <name> [--project <ref>]
956
- projmux rename pane [<ref>] --name <name> [--project <ref>] [--window <ref>]...
957
- projmux rename agent [<ref>] --name <name> [--project <ref>] [--window <ref>]...
1117
+ projmux rename project [<ref>] [--project <ref> | -p <ref>] --name <name>
1118
+ projmux rename window [<ref>] --name <name> [--project <ref> | -p <ref>]
1119
+ projmux rename pane [<ref>] --name <name> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
1120
+ projmux rename agent [<ref>] --name <name> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
958
1121
  ```
959
1122
 
960
1123
  Subcommands:
@@ -962,9 +1125,9 @@ Subcommands:
962
1125
  | Route | Summary |
963
1126
  | --- | --- |
964
1127
  | [`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 |
1128
+ | [`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 |
1129
+ | [`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 |
1130
+ | [`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
1131
 
969
1132
  Canonical spelling: `projmux rename project`, `projmux rename window`, `projmux rename pane`, `projmux rename agent`
970
1133
 
@@ -973,37 +1136,37 @@ Canonical spelling: `projmux rename project`, `projmux rename window`, `projmux
973
1136
  Rename a Projmux Project resource; with no selector inside tmux, the active Project
974
1137
 
975
1138
  ```
976
- projmux rename project
1139
+ projmux rename project [<ref>] [--project <ref> | -p <ref>] --name <name>
977
1140
  ```
978
1141
 
979
1142
  Aliases: `projects`
980
1143
 
981
1144
  ### `projmux rename window`
982
1145
 
983
- Rename a Projmux Window resource; with no selector inside tmux, the active Window
1146
+ Rename a Projmux Window resource; inside tmux a reference resolves within the active Project or ControlSession and no selector means the active Window
984
1147
 
985
1148
  ```
986
- projmux rename window
1149
+ projmux rename window [<ref>] --name <name> [--project <ref> | -p <ref>]
987
1150
  ```
988
1151
 
989
1152
  Aliases: `windows`
990
1153
 
991
1154
  ### `projmux rename pane`
992
1155
 
993
- Rename a Projmux Pane resource; with no selector inside tmux, the active Pane; does not change tmux pane_title
1156
+ 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
994
1157
 
995
1158
  ```
996
- projmux rename pane
1159
+ projmux rename pane [<ref>] --name <name> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
997
1160
  ```
998
1161
 
999
1162
  Aliases: `panes`
1000
1163
 
1001
1164
  ### `projmux rename agent`
1002
1165
 
1003
- Rename an Agent stable resource name without changing its topic, provider, or managed Pane
1166
+ Rename an Agent stable resource name within the active Project or ControlSession without changing its topic, provider, or managed Pane
1004
1167
 
1005
1168
  ```
1006
- projmux rename agent
1169
+ projmux rename agent [<ref>] --name <name> [--project <ref> | -p <ref>] [--window <ref> | -w <ref>]...
1007
1170
  ```
1008
1171
 
1009
1172
  Aliases: `agents`
@@ -1018,26 +1181,26 @@ projmux resources
1018
1181
 
1019
1182
  ## `projmux restore`
1020
1183
 
1021
- Preview a saved session snapshot restore (--dry-run only in this release)
1184
+ Project a saved snapshot into one exact closed Project desired state
1022
1185
 
1023
1186
  ```
1024
- projmux restore snapshot --dry-run [--session <name>]
1187
+ projmux restore snapshot --session <name> [--project <ref> | -p <ref>] [--dry-run | --yes] [--client <tmux-client>]
1025
1188
  ```
1026
1189
 
1027
1190
  Subcommands:
1028
1191
 
1029
1192
  | Route | Summary |
1030
1193
  | --- | --- |
1031
- | [`projmux restore snapshot`](#projmux-restore-snapshot) | Preview a saved session snapshot restore; --dry-run is required |
1194
+ | [`projmux restore snapshot`](#projmux-restore-snapshot) | Project a saved snapshot into one exact closed Project desired state |
1032
1195
 
1033
1196
  Canonical spelling: `projmux restore snapshot`
1034
1197
 
1035
1198
  ### `projmux restore snapshot`
1036
1199
 
1037
- Preview a saved session snapshot restore; --dry-run is required
1200
+ Project a saved snapshot into one exact closed Project desired state
1038
1201
 
1039
1202
  ```
1040
- projmux restore snapshot --dry-run [--session <name>]
1203
+ projmux restore snapshot --session <name> [--project <ref> | -p <ref>] [--dry-run | --yes] [--client <tmux-client>]
1041
1204
  ```
1042
1205
 
1043
1206
  ## `projmux runtime`
@@ -1046,6 +1209,7 @@ Manage the live and ephemeral tmux runtime inventory
1046
1209
 
1047
1210
  ```
1048
1211
  projmux runtime sessions [--ui=popup|sidebar]
1212
+ projmux runtime diagnostics [--socket <name> | --socket-path <absolute>] [--ui=popup|sidebar]
1049
1213
  projmux runtime attach [--keep=N] [--fallback=home|ephemeral]
1050
1214
  projmux runtime stop [<session>...]
1051
1215
  projmux runtime tag list|toggle|clear
@@ -1057,12 +1221,13 @@ Subcommands:
1057
1221
  | Route | Summary |
1058
1222
  | --- | --- |
1059
1223
  | [`projmux runtime sessions`](#projmux-runtime-sessions) | Pick a live or ephemeral tmux session |
1224
+ | [`projmux runtime diagnostics`](#projmux-runtime-diagnostics) | Inspect every tmux object on one exact server, with attribution and safe actions |
1060
1225
  | [`projmux runtime attach`](#projmux-runtime-attach) | Attach a live or ephemeral runtime without Project identity |
1061
1226
  | [`projmux runtime stop`](#projmux-runtime-stop) | Terminate live tmux sessions by tagged selection |
1062
1227
  | [`projmux runtime tag`](#projmux-runtime-tag) | Manage the ephemeral tagged session selection |
1063
1228
  | [`projmux runtime prune`](#projmux-runtime-prune) | Trim old ephemeral tmux sessions |
1064
1229
 
1065
- Canonical spelling: `projmux runtime sessions`, `projmux runtime attach`, `projmux runtime stop`, `projmux runtime tag`, `projmux runtime prune`
1230
+ Canonical spelling: `projmux runtime sessions`, `projmux runtime diagnostics`, `projmux runtime attach`, `projmux runtime stop`, `projmux runtime tag`, `projmux runtime prune`
1066
1231
 
1067
1232
  ### `projmux runtime sessions`
1068
1233
 
@@ -1072,6 +1237,14 @@ Pick a live or ephemeral tmux session
1072
1237
  projmux runtime sessions
1073
1238
  ```
1074
1239
 
1240
+ ### `projmux runtime diagnostics`
1241
+
1242
+ Inspect every tmux object on one exact server, with attribution and safe actions
1243
+
1244
+ ```
1245
+ projmux runtime diagnostics [--socket <name> | --socket-path <absolute>] [--ui=popup|sidebar]
1246
+ ```
1247
+
1075
1248
  ### `projmux runtime attach`
1076
1249
 
1077
1250
  Attach a live or ephemeral runtime without Project identity
@@ -1260,4 +1433,3 @@ Print the current version
1260
1433
  projmux version
1261
1434
  projmux --version
1262
1435
  ```
1263
-