seatmesh 1.2.4 → 1.3.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.
Files changed (91) hide show
  1. package/bin/seatmesh +6 -1
  2. package/dist/commands/agent-forum.d.ts +6 -0
  3. package/dist/commands/agent-forum.d.ts.map +1 -0
  4. package/dist/commands/agent-forum.js +26 -0
  5. package/dist/commands/agent-forum.js.map +1 -0
  6. package/dist/commands/campaign-cli.d.ts +10 -0
  7. package/dist/commands/campaign-cli.d.ts.map +1 -0
  8. package/dist/commands/campaign-cli.js +136 -0
  9. package/dist/commands/campaign-cli.js.map +1 -0
  10. package/dist/commands/chat-cli.d.ts.map +1 -1
  11. package/dist/commands/chat-cli.js +55 -0
  12. package/dist/commands/chat-cli.js.map +1 -1
  13. package/dist/commands/cli-speed.test.d.ts +2 -0
  14. package/dist/commands/cli-speed.test.d.ts.map +1 -0
  15. package/dist/commands/cli-speed.test.js +39 -0
  16. package/dist/commands/cli-speed.test.js.map +1 -0
  17. package/dist/commands/cli-vocal.test.d.ts +2 -0
  18. package/dist/commands/cli-vocal.test.d.ts.map +1 -0
  19. package/dist/commands/cli-vocal.test.js +58 -0
  20. package/dist/commands/cli-vocal.test.js.map +1 -0
  21. package/dist/commands/completion.d.ts +3 -0
  22. package/dist/commands/completion.d.ts.map +1 -1
  23. package/dist/commands/completion.js +55 -14
  24. package/dist/commands/completion.js.map +1 -1
  25. package/dist/commands/completion.test.js +37 -2
  26. package/dist/commands/completion.test.js.map +1 -1
  27. package/dist/commands/contract-lock-cli.d.ts.map +1 -1
  28. package/dist/commands/contract-lock-cli.js +150 -29
  29. package/dist/commands/contract-lock-cli.js.map +1 -1
  30. package/dist/commands/help-text.d.ts.map +1 -1
  31. package/dist/commands/help-text.js +90 -26
  32. package/dist/commands/help-text.js.map +1 -1
  33. package/dist/commands/host-cli.d.ts +5 -0
  34. package/dist/commands/host-cli.d.ts.map +1 -0
  35. package/dist/commands/host-cli.js +120 -0
  36. package/dist/commands/host-cli.js.map +1 -0
  37. package/dist/commands/nav-cli.d.ts +8 -0
  38. package/dist/commands/nav-cli.d.ts.map +1 -0
  39. package/dist/commands/nav-cli.js +54 -0
  40. package/dist/commands/nav-cli.js.map +1 -0
  41. package/dist/commands/notify-cli.d.ts.map +1 -1
  42. package/dist/commands/notify-cli.js +38 -3
  43. package/dist/commands/notify-cli.js.map +1 -1
  44. package/dist/commands/room-cli.d.ts.map +1 -1
  45. package/dist/commands/room-cli.js +23 -6
  46. package/dist/commands/room-cli.js.map +1 -1
  47. package/dist/commands/schedule-cli.d.ts +13 -0
  48. package/dist/commands/schedule-cli.d.ts.map +1 -0
  49. package/dist/commands/schedule-cli.js +74 -0
  50. package/dist/commands/schedule-cli.js.map +1 -0
  51. package/dist/commands/schedule-cli.test.d.ts +2 -0
  52. package/dist/commands/schedule-cli.test.d.ts.map +1 -0
  53. package/dist/commands/schedule-cli.test.js +29 -0
  54. package/dist/commands/schedule-cli.test.js.map +1 -0
  55. package/dist/commands/todo-give.test.js +21 -5
  56. package/dist/commands/todo-give.test.js.map +1 -1
  57. package/dist/fast-spawn.d.ts +3 -0
  58. package/dist/fast-spawn.d.ts.map +1 -0
  59. package/dist/fast-spawn.js +107 -0
  60. package/dist/fast-spawn.js.map +1 -0
  61. package/dist/main.js +323 -44
  62. package/dist/main.js.map +1 -1
  63. package/dist/setup/init.d.ts +11 -0
  64. package/dist/setup/init.d.ts.map +1 -1
  65. package/dist/setup/init.js +38 -0
  66. package/dist/setup/init.js.map +1 -1
  67. package/dist/setup/init.test.js +3 -2
  68. package/dist/setup/init.test.js.map +1 -1
  69. package/dist/setup/install.js +2 -2
  70. package/dist/setup/install.js.map +1 -1
  71. package/package.json +8 -7
  72. package/profiles/minimal/mesh.config.yaml +1 -0
  73. package/templates/cursor/rules/seatmesh-agent.mdc +40 -0
  74. package/templates/docs/RELEASE.md +9 -3
  75. package/templates/docs/cli/README.md +110 -11
  76. package/templates/docs/cli/chat.md +4 -3
  77. package/templates/docs/cli/contract.md +15 -15
  78. package/templates/docs/cli/host.md +12 -0
  79. package/templates/docs/cli/human.md +15 -7
  80. package/templates/docs/cli/kind.md +4 -2
  81. package/templates/docs/cli/nav.md +12 -0
  82. package/templates/docs/cli/{oc-proxy.md → opencode-cpe.md} +10 -10
  83. package/templates/docs/cli/rebuild.md +3 -0
  84. package/templates/docs/cli/reload.md +8 -5
  85. package/templates/docs/cli/room.md +5 -7
  86. package/templates/docs/cli/schedule.md +13 -0
  87. package/templates/docs/cli/secretary.md +1 -1
  88. package/templates/docs/cli/spawn.md +13 -0
  89. package/templates/docs/cli/switch.md +4 -4
  90. package/templates/init/AGENTS.md +10 -10
  91. package/templates/init/mesh.config.yaml +11 -4
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/setup/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/setup/install.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "seatmesh",
3
- "version": "1.2.4",
3
+ "version": "1.3.0",
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },
@@ -26,13 +26,14 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@clack/prompts": "^1.8.0",
29
- "@seat-mesh/connectivity": "file:../connectivity",
30
- "@seat-mesh/core": "file:../core",
31
- "@seat-mesh/daemon": "file:../daemon",
32
- "@seat-mesh/providers": "file:../providers",
33
- "@seat-mesh/tmux": "file:../tmux",
29
+ "@seat-mesh/connectivity": "^1.3.0",
30
+ "@seat-mesh/core": "^1.3.0",
31
+ "@seat-mesh/daemon": "^1.3.0",
32
+ "@seat-mesh/providers": "^1.3.0",
33
+ "@seat-mesh/tmux": "^1.3.0",
34
34
  "boxen": "^8.0.1",
35
35
  "cfonts": "^3.3.1",
36
- "commander": "^15.0.0"
36
+ "commander": "^15.0.0",
37
+ "yaml": "^2.7.0"
37
38
  }
38
39
  }
@@ -16,6 +16,7 @@ state:
16
16
  daemon:
17
17
  port: 31671
18
18
  portScope: workspace
19
+ autoRevive: false
19
20
  managerPromptPrefix: "[agent-manager]"
20
21
 
21
22
  ports:
@@ -0,0 +1,40 @@
1
+ ---
2
+ description: Seatmesh pane agent — whoami every turn, enqueue-only mesh CLI
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # Seatmesh agent (always on)
7
+
8
+ Engine-owned mesh CLI. Do not invent alternate CLIs.
9
+
10
+ ## Every turn
11
+
12
+ ```bash
13
+ sm agent whoami
14
+ sm agent # can / cannot for THIS pane
15
+ ```
16
+
17
+ Default config is workspace `.sm/` (walk-up). Run work only via `sm agent <cmd> …`.
18
+
19
+ ## Hard rules
20
+
21
+ - Enqueue only — never raw `tmux send-keys` for mesh mail.
22
+ - `[mesh-inbox]` / DIGEST = daemon steering, not a new human task.
23
+ - Chat prose does **not** clear ACK or cancel checkback — use `ack` / `cb cancel`.
24
+ - Inject copy = mesh-copy consts. Never paste `patterns.md` into a pane.
25
+ - Operator eyes / decide → `agent notify` (not chat for a toast).
26
+ - NO CONFIRM — act; chat is a status line after action.
27
+
28
+ ## Vocal (pane CLIs)
29
+
30
+ | Need | Command |
31
+ |------|---------|
32
+ | Empty shell → agent | `spawn <target> <cli>` |
33
+ | Replace live agent | `switch <target> <cli>` |
34
+ | Resume configured | `launch <target>` |
35
+ | Rebuild engine + labels | `rebuild` (alias: `reload` — not “reload config”) |
36
+
37
+ ## Dig deeper
38
+
39
+ - Skill: `seatmesh-agent` · notify: `seatmesh-notify`
40
+ - Canonical brief: `.sm/AGENTS.md`
@@ -1,10 +1,12 @@
1
1
  # npm release schedule
2
2
 
3
- **Gate:** `seatmesh@1.2.0` cutover — Adonis hub on `:3190` is the operator console; daemon `/act/card` + `/ui` proxy to hub. See [NOW.md](../NOW.md).
4
-
5
3
  | Date (Asia/Manila) | Package | Notes |
6
4
  |--------------------|---------|--------|
7
- | **2026-09-15** | `seatmesh@1.2.0` | Operator hub cutover: Adonis 7 + Nuxt UI; act/card hub proxy; SessionChrome; mobile drawer; agent forum/golf; contract simplify; LAN/QR; terminals preview-first |
5
+ | **2026-09-18** | `seatmesh@1.2.5` | CLI declares `yaml` dep — fixes npx/global `ERR_MODULE_NOT_FOUND` on merge-mesh-config |
6
+ | **2026-09-17** | `seatmesh@1.2.4` | Open agent kinds (`kindBase`/`extends`); opencode-cpe extends opencode; prove/satisfy/recovery; act/card hub; wave OC relaunch; Orca credit CONTINUE; cross-mesh inbox restart |
7
+ | **2026-09-17** | `seatmesh@1.2.3` | Republish after connectivity@1.2.2 npm staging E409; same surface as 1.2.2 |
8
+ | **2026-09-17** | `seatmesh@1.2.2` | `npx seatmesh web up\|down\|restart\|status`; `agent mds hosted\|agent-self\|agent <kind>`; hub `/mds` live; OC-V2 supervisor health rescue + oc-credit CONTINUE |
9
+ | **2026-09-16** | `seatmesh@1.2.0` | opencode-cpe CliType + runners; `sm pane resume`; OC-LIMIT `scripts/oc-reset.sh` + daemon relaunch; todo-check remaining TASKS DIGEST bulk; `sm web status\|open\|url`; `config upgrade` (npm i -g first); human help + patterns modular `docs/patterns/` |
8
10
  | **2026-09-15** | `seatmesh@1.1.5` | Notify Info/Yes/No native buttons; local Info cards GFM+Mermaid (zoom/pan/expand); session check/repair; CB workspace scope; policy config; agent help/COMMANDS |
9
11
  | **2026-09-15** | `seatmesh@1.1.4` | Early-adopter UX: `start` idempotent create-or-attach; `session down`; manager terminal welcome (whoami/switch); `sessions` documented |
10
12
  | **2026-09-15** | `seatmesh@1.1.3` | Cursor/Claude respawn prove: agent --trust; composer-ready verify+retry (OC parity); fresh whoami on success expected |
@@ -29,4 +31,8 @@ Skip check: `SEATMESH_SKIP_VERSION_CHECK=1`.
29
31
 
30
32
  Publish: `bash scripts/publish-npm.sh` from repo root (after `npm login`).
31
33
 
34
+ **GitHub Releases:** yes — notes in `docs/releases/vX.Y.Z.md` + row in this file.
35
+ Create/update: `bash scripts/gh-release.sh 1.2.0` (needs `gh auth login`).
36
+ Optional: `bash scripts/gh-release.sh 1.2.0 --publish` (npm then release).
37
+
32
38
  Inbox blips (2026-09-13 prove): daemon `/health` flaps and `checkback ack` 404 while inbox is up (cancel still works). Drain can wedge on `peer_unsent` if coord holds are not backlogged. Not a ship blocker after `seatmesh@1.0.0`; cancel orphan checkbacks instead of retrying ack.
@@ -1,22 +1,120 @@
1
- # seatmesh CLI verbs (one md each)
1
+ # seatmesh CLI — by job
2
2
 
3
- Greppable per-command docs. Generated from `packages/cli/src/commands/help-text.ts`.
3
+ Not an A–Z API list. One command per need. Grep stubs when you know the name.
4
4
 
5
5
  ```bash
6
- ls docs/cli | rg peer
7
- rg -n . docs/cli/peer.md
8
- rg -n "^## " docs/COMMANDS.md
9
- seatmesh help peer
6
+ seatmesh help <verb>
7
+ rg "^## peer$" docs/COMMANDS.md
10
8
  ```
11
9
 
12
- Full catalog: [../COMMANDS.md](../COMMANDS.md)
10
+ Full dump (last resort): [../COMMANDS.md](../COMMANDS.md)
11
+
12
+ ---
13
+
14
+ ## Agent (`sm agent …`)
15
+
16
+ ### Identity & map
17
+
18
+ | Verb | File |
19
+ |------|------|
20
+ | `agent` | [agent.md](agent.md) |
21
+ | `whoami` | [whoami.md](whoami.md) |
22
+ | `contexts` | [contexts.md](contexts.md) |
23
+ | `hub` | [hub.md](hub.md) |
24
+ | `kind` | [kind.md](kind.md) |
25
+ | `peek` | [peek.md](peek.md) |
26
+ | `ppa` | [ppa.md](ppa.md) |
27
+
28
+ ### Work
29
+
30
+ | Verb | File |
31
+ |------|------|
32
+ | `todo` | [todo.md](todo.md) |
33
+ | `seat` | [seat.md](seat.md) |
34
+ | `assign` | [assign.md](assign.md) — prefer `todo give` |
35
+
36
+ ### Comms (inject)
37
+
38
+ | Verb | File |
39
+ |------|------|
40
+ | `peer` | [peer.md](peer.md) — prefer this |
41
+ | `ack` | [ack.md](ack.md) |
42
+ | `cb` | [cb.md](cb.md) |
43
+ | `room` | [room.md](room.md) |
44
+ | `notify` | [notify.md](notify.md) |
45
+ | `remote` | [remote.md](remote.md) |
46
+ | `sessions` | [sessions.md](sessions.md) |
47
+ | `reply` | [reply.md](reply.md) |
48
+
49
+ ### Read (not inject)
50
+
51
+ | Verb | File |
52
+ |------|------|
53
+ | `chat` | [chat.md](chat.md) |
54
+ | `mds` | [mds.md](mds.md) |
55
+ | `preview` | [preview.md](preview.md) |
56
+ | `read-history` | [read-history.md](read-history.md) — prefer `hub chat` |
57
+
58
+ ### Shorthands → collapse to `peer` / `todo`
59
+
60
+ | Verb | Prefer |
61
+ |------|--------|
62
+ | [ask](ask.md) · [msg](msg.md) · [tell](tell.md) | `peer` |
63
+ | [ackmsg](ackmsg.md) | `peer --ack` |
64
+ | [prompt](prompt.md) | `peer` |
65
+ | [to-slot](to-slot.md) · [to-mini](to-mini.md) | `peer slot-N` / `peer mini-N` |
66
+ | [to-master](to-master.md) | DEPRECATED — `room` / chat |
67
+
68
+ ---
69
+
70
+ ## Operator (outside `agent`)
71
+
72
+ | Verb | File |
73
+ |------|------|
74
+ | `human` | [human.md](human.md) — cheat sheet |
75
+ | `session` | [session.md](session.md) |
76
+ | `layout` | [layout.md](layout.md) |
77
+ | `spawn` | [spawn.md](spawn.md) — empty→CLI |
78
+ | `switch` | [switch.md](switch.md) — replace live |
79
+ | `launch` | [launch.md](launch.md) |
80
+ | `pane` | [pane.md](pane.md) |
81
+ | `save` · `auto` | [save.md](save.md) · [auto.md](auto.md) |
82
+ | `reload` · `rebuild` · `verify` · `realign` | [reload.md](reload.md) · [rebuild.md](rebuild.md) · [verify.md](verify.md) · [realign.md](realign.md) |
83
+ | `inbox` | [inbox.md](inbox.md) |
84
+ | `web` | [web.md](web.md) |
85
+ | `contract` | [contract.md](contract.md) |
86
+ | `balance` | [balance.md](balance.md) |
87
+ | `init` · `update` | [init.md](init.md) · [update.md](update.md) |
88
+ | `config` · `providers` | [config.md](config.md) · [providers.md](providers.md) |
89
+ | `target` | [target.md](target.md) |
90
+
91
+ ### Occasional / niche
92
+
93
+ | Verb | File |
94
+ |------|------|
95
+ | `mini` · `secretary` | [mini.md](mini.md) · [secretary.md](secretary.md) |
96
+ | `base` · `stack` · `labels` | [base.md](base.md) · [stack.md](stack.md) · [labels.md](labels.md) |
97
+ | `set` · `tag` · `swap` · `title` | [set.md](set.md) · [tag.md](tag.md) · [swap.md](swap.md) · [title.md](title.md) |
98
+ | `ops` · `limit` · `proxy` | [ops.md](ops.md) · [limit.md](limit.md) · [proxy.md](proxy.md) |
99
+ | `night` · `continue` · `flush` · `remind` | [night.md](night.md) · [continue.md](continue.md) · [flush.md](flush.md) · [remind.md](remind.md) |
100
+ | `slot-advice` | [slot-advice.md](slot-advice.md) |
101
+ | `cold-start` · `completion` · `migrate-runtime` | [cold-start.md](cold-start.md) · [completion.md](completion.md) · [migrate-runtime.md](migrate-runtime.md) |
102
+ | `func` · `profile` · `roles` · `report` · `status` · `start` · `test` · `version` · `help` · `index` · `pane-meta` | see files |
103
+
104
+ ---
105
+
106
+ ## A–Z (grep only)
107
+
108
+ When you already know the name — do not browse this as the guide.
109
+
110
+ <details>
111
+ <summary>All stubs</summary>
13
112
 
14
113
  | Verb | File |
15
114
  |------|------|
16
115
  | `ack` | [ack.md](ack.md) |
17
116
  | `ackmsg` | [ackmsg.md](ackmsg.md) |
18
117
  | `agent` | [agent.md](agent.md) |
19
- | `apply` | [apply.md](apply.md) |
20
118
  | `ask` | [ask.md](ask.md) |
21
119
  | `assign` | [assign.md](assign.md) |
22
120
  | `auto` | [auto.md](auto.md) |
@@ -31,9 +129,7 @@ Full catalog: [../COMMANDS.md](../COMMANDS.md)
31
129
  | `continue` | [continue.md](continue.md) |
32
130
  | `contract` | [contract.md](contract.md) |
33
131
  | `flush` | [flush.md](flush.md) |
34
- | `forum` | [forum.md](forum.md) |
35
132
  | `func` | [func.md](func.md) |
36
- | `golf` | [golf.md](golf.md) |
37
133
  | `help` | [help.md](help.md) |
38
134
  | `hub` | [hub.md](hub.md) |
39
135
  | `human` | [human.md](human.md) |
@@ -45,11 +141,13 @@ Full catalog: [../COMMANDS.md](../COMMANDS.md)
45
141
  | `launch` | [launch.md](launch.md) |
46
142
  | `layout` | [layout.md](layout.md) |
47
143
  | `limit` | [limit.md](limit.md) |
144
+ | `mds` | [mds.md](mds.md) |
48
145
  | `migrate-runtime` | [migrate-runtime.md](migrate-runtime.md) |
49
146
  | `mini` | [mini.md](mini.md) |
50
147
  | `night` | [night.md](night.md) |
51
148
  | `notify` | [notify.md](notify.md) |
52
149
  | `ops` | [ops.md](ops.md) |
150
+ | `pane` | [pane.md](pane.md) |
53
151
  | `pane-meta` | [pane-meta.md](pane-meta.md) |
54
152
  | `peek` | [peek.md](peek.md) |
55
153
  | `peer` | [peer.md](peer.md) |
@@ -68,7 +166,6 @@ Full catalog: [../COMMANDS.md](../COMMANDS.md)
68
166
  | `report` | [report.md](report.md) |
69
167
  | `roles` | [roles.md](roles.md) |
70
168
  | `room` | [room.md](room.md) |
71
- | `run` | [run.md](run.md) |
72
169
  | `save` | [save.md](save.md) |
73
170
  | `seat` | [seat.md](seat.md) |
74
171
  | `secretary` | [secretary.md](secretary.md) |
@@ -92,5 +189,7 @@ Full catalog: [../COMMANDS.md](../COMMANDS.md)
92
189
  | `update` | [update.md](update.md) |
93
190
  | `verify` | [verify.md](verify.md) |
94
191
  | `version` | [version.md](version.md) |
192
+ | `web` | [web.md](web.md) |
95
193
  | `whoami` | [whoami.md](whoami.md) |
96
194
 
195
+ </details>
@@ -2,9 +2,10 @@
2
2
 
3
3
  ```text
4
4
  chat tail [--slot key] [--lines N] [--json]
5
- chat query […] — history of prompt/response CHAT.jsonl (read-only ledger)
6
- Not a live group chat. Live A2A = room say/tail · peer ask/msg
7
- append|record = engine/session writers — agents rarely need these
5
+ chat query [--slot|--session|--model|--since|--limit] [--json]
6
+ chat put <slot> "<human>" [--response "<text>"] (positional upsert, dedupe by turnHash)
7
+ chat get <id> [--slot key] [--json] (id or turnHash, full or 8-char prefix)
8
+ chat append|record — per-slot prompt/response CHAT.jsonl
8
9
  ```
9
10
 
10
11
  - CLI: `seatmesh chat --help`
@@ -1,25 +1,25 @@
1
1
  # seatmesh contract
2
2
 
3
3
  ```text
4
- contract [status|on|off|open]
5
- Simple harness locks — one path for agents (prefer over apply / raw supervise).
4
+ contract [status]
5
+ contract show <id>
6
+ contract on|off <id> [--agent <seat>]
7
+ contract create|open <slug>
8
+ ```
6
9
 
7
- status show supervise/balance ON|OFF
8
- on [supervise|balance] arm lock + room + tick (default: supervise)
9
- off [supervise|balance]
10
- open <slug> --scope "…" named room (CLAIMED/DONE) — not a lock
10
+ Easy locks under `.sm/contracts/`:
11
11
 
12
- Examples:
13
- seatmesh agent contract
14
- seatmesh agent contract on
15
- seatmesh agent contract on balance
16
- seatmesh agent contract off
17
- seatmesh agent contract open slice-a --scope "landing CTA"
12
+ | Command | Effect |
13
+ |---------|--------|
14
+ | `contract` / `status` | Vendor contracts + ON/off |
15
+ | `show <id>` | Merged `_vendor` + extend yaml |
16
+ | `on <id>` | Arm lock (agent defaults from yaml) |
17
+ | `off <id>` | Disarm |
18
+ | `create <slug>` | Ad-hoc contract **room** (not vendor) |
18
19
 
19
- Day-to-day work: todo give / peer / room — contracts optional.
20
- (agent apply … still works for power users; prefer contract on/off.)
21
- ```
20
+ Defaults: `supervise` → `supervisor` (secretary); `balance` → `balance_lead`.
22
21
 
23
22
  - CLI: `seatmesh contract --help`
24
23
  - Agent: `seatmesh agent help contract`
25
24
  - Catalog: [../COMMANDS.md#contract](../COMMANDS.md#contract)
25
+ - Hub: `/mds/…/contracts-easy`
@@ -0,0 +1,12 @@
1
+ # seatmesh host
2
+
3
+ ```text
4
+ host up|down|status
5
+ Opt-in single host-supervisor: one process watches all meshes registered in
6
+ ~/.config/seatmesh/sessions.json instead of each spawning its own supervisor.
7
+ Does not affect meshes that haven't opted in (Phase 1, see NOW.md).
8
+ ```
9
+
10
+ - CLI: `seatmesh host --help`
11
+ - Agent: `seatmesh agent help host`
12
+ - Catalog: [../COMMANDS.md#host](../COMMANDS.md#host)
@@ -3,13 +3,17 @@
3
3
  ```text
4
4
  human — put an agent CLI on a pane (operator)
5
5
 
6
- Empty terminal → agent:
7
- switch <target> <opencode|claude|agent|kiro>
6
+ Empty terminal → agent (prefer spawn):
7
+ spawn <target> <opencode|opencode-cpe|claude|agent|kiro>
8
8
  Examples:
9
- seatmesh switch slot-1 opencode
10
- seatmesh switch secretary claude
11
- seatmesh switch here agent # this pane (Cursor)
12
- npx seatmesh switch mini-1 opencode
9
+ seatmesh spawn slot-1 opencode
10
+ seatmesh spawn secretary opencode-cpe --keep-resume
11
+ seatmesh spawn here agent # this pane (Cursor)
12
+ seatmesh spawn mini-1 opencode-cpe --keep-resume
13
+
14
+ Replace a live agent with another CLI:
15
+ switch <target> <opencode|opencode-cpe|claude|agent|kiro> [reason...]
16
+ Alias: handoff
13
17
 
14
18
  Back to plain shell:
15
19
  switch <target> empty
@@ -17,15 +21,19 @@ human — put an agent CLI on a pane (operator)
17
21
  Start/resume the seat's configured CLI (no type pick):
18
22
  launch <target|all|manager|secretary>
19
23
 
24
+ Resume known session on a pane (autodetect ses_* / resume id):
25
+ pane resume [here|secretary|slot-N|…]
26
+
20
27
  Check agent vs shell:
21
28
  kind <target> # aliases: what | typeof
22
29
 
23
- Give the seat WORK / a todo (does NOT install a CLI — different from switch):
30
+ Give the seat WORK / a todo (does NOT install a CLI — different from spawn/switch):
24
31
  todo give <target> "do the thing" # preferred
25
32
  todo <target> "do the thing" # shorthand
26
33
  assign <target> "do the thing" # same engine
27
34
 
28
35
  Targets: manager | secretary | slot-N | mini-N | here
36
+ Operator help: seatmesh help (human) · seatmesh --agents help (full)
29
37
  Aliases for this topic: help put-agent | help panes | help operator
30
38
  ```
31
39
 
@@ -1,8 +1,10 @@
1
1
  # seatmesh kind
2
2
 
3
3
  ```text
4
- kind <target>
5
- Agent CLI vs plain terminal. Aliases: what, typeof
4
+ kind <target> | kind list | kind show <id>
5
+ <target>: agent CLI vs plain terminal (aliases: what, typeof)
6
+ list/show: dump resolved agent kinds (provider kindBase ⋂ agents.kinds overlay
7
+ ⋂ runners shim, extends flattened) — DX for custom-profile kinds
6
8
  ```
7
9
 
8
10
  - CLI: `seatmesh kind --help`
@@ -0,0 +1,12 @@
1
+ # seatmesh nav
2
+
3
+ ```text
4
+ nav log [-n N] [--json]
5
+ nav summary [-n N] [--json]
6
+ Navigation history — recent `peek <target>` events (which panes/seats you've
7
+ looked at). log = chronological, summary = grouped by target, most-recent first.
8
+ ```
9
+
10
+ - CLI: `seatmesh nav --help`
11
+ - Agent: `seatmesh agent help nav`
12
+ - Catalog: [../COMMANDS.md#nav](../COMMANDS.md#nav)
@@ -1,14 +1,14 @@
1
- # sm oc-proxy
1
+ # sm opencode-cpe
2
2
 
3
3
  ```text
4
4
  OpenCode via CPE proxy — spawn / relaunch any seat
5
5
 
6
- sm switch <target> oc-proxy [--keep-resume|--fresh] [--queue]
6
+ sm switch <target> opencode-cpe [--keep-resume|--fresh] [--queue]
7
7
  sm launch minis | launch secretary | launch <slot-N>
8
8
 
9
9
  <target> = secretary | manager | mini-N | slot-N | here
10
10
 
11
- oc-proxy ≠ oc / opencode (direct, no CPE script)
11
+ opencode-cpe ≠ oc / opencode (direct, no CPE script)
12
12
  ```
13
13
 
14
14
  ## Config (once)
@@ -16,7 +16,7 @@ OpenCode via CPE proxy — spawn / relaunch any seat
16
16
  ```yaml
17
17
  agents:
18
18
  runners:
19
- oc-proxy: scripts/opencode-cpe.sh
19
+ opencode-cpe: scripts/opencode-cpe.sh
20
20
  connectivity:
21
21
  driver: cpe
22
22
  proxyPort: 18887
@@ -24,17 +24,17 @@ connectivity:
24
24
 
25
25
  | Default for… | Where |
26
26
  |--------------|--------|
27
- | Base columns | `layout.base.cli.<id>: oc-proxy` |
28
- | Minis / workers | `.sm/mesh-agents.json` → `conventions.miniDefaultCli: oc-proxy` |
27
+ | Base columns | `layout.base.cli.<id>: opencode-cpe` |
28
+ | Minis / workers | `.sm/mesh-agents.json` → `conventions.miniDefaultCli: opencode-cpe` |
29
29
 
30
30
  `sm config check`
31
31
 
32
32
  ## Examples
33
33
 
34
34
  ```bash
35
- sm switch secretary oc-proxy --keep-resume
36
- sm switch mini-3 oc-proxy --keep-resume
37
- sm launch minis # after miniDefaultCli = oc-proxy
35
+ sm switch secretary opencode-cpe --keep-resume
36
+ sm switch mini-3 opencode-cpe --keep-resume
37
+ sm launch minis # after miniDefaultCli = opencode-cpe
38
38
  env -u TMUX_PANE sm switch … # from plain shell (stale TMUX_PANE)
39
39
  ```
40
40
 
@@ -42,7 +42,7 @@ env -u TMUX_PANE sm switch … # from plain shell (stale TMUX_PANE)
42
42
 
43
43
  Esc×3 → composer idle → `sm agent whoami`. Full relaunch only if needed: `--fresh`.
44
44
 
45
- All oc-proxy panes stuck / need CONTINUE without typing it: `./scripts/oc-proxy-atomics.sh`
45
+ All opencode-cpe panes stuck / need CONTINUE without typing it: `./scripts/opencode-cpe-atomics.sh`
46
46
  (record → kill CPE OC → revive → CONTINUE across pia/zsign/seatmesh).
47
47
 
48
48
  - CLI: `sm switch --help` · `sm launch --help`
@@ -0,0 +1,3 @@
1
+ # seatmesh rebuild
2
+
3
+ Alias of [reload](reload.md) — preferred vocal (engine rebuild, not “reload config”).
@@ -1,10 +1,13 @@
1
- # seatmesh reload
1
+ # seatmesh reload / rebuild
2
2
 
3
3
  ```text
4
- reload [--layout]
5
- Rebuild engine + labels (no session kill). --layout re-grids
4
+ reload|rebuild [--layout]
5
+ Rebuild seatmesh packages (npm build) + refresh labels/borders/inbox.
6
+ Does NOT re-read config into live agents / does NOT replace pane CLIs
7
+ (that is spawn/switch/coordSync). --layout re-grids (disruptive).
8
+ Prefer vocal: rebuild
6
9
  ```
7
10
 
8
- - CLI: `seatmesh reload --help`
9
- - Agent: `seatmesh agent help reload`
11
+ - CLI: `seatmesh rebuild --help` · `seatmesh reload --help`
12
+ - Agent: `seatmesh agent help rebuild`
10
13
  - Catalog: [../COMMANDS.md#reload](../COMMANDS.md#reload)
@@ -1,13 +1,11 @@
1
1
  # seatmesh room
2
2
 
3
3
  ```text
4
- room tail [-r slug] [-n N] | room say [-r slug] "<msg>"
5
- Modern path: say/tail (+ contract open <slug> for named ledgers).
6
- Prefer CLAIMED|DONE|FYI|STATUS lines over room call/accept (legacy A2A dial).
7
- Also: room broadcast <msg> | room read | room create <slug>
8
- Legacy: room call|accept|decline|pending (workers) — prefer peer ask/msg instead
9
- Global default; -r managers|supervise
10
- broadcast/say fan-out = daemon queue (POST /room-fanout)
4
+ room tail [-r slug] [-n N] [--truncate N] [--json] | room get <id> [--json]
5
+ room say [-r slug] "<msg>" (same sender+body within ~20s is deduped, not re-sent)
6
+ room broadcast <msg> | room read | room call|accept …
7
+ A2A ledger. Global default; -r managers|supervise
8
+ broadcast/say fan-out = daemon queue (POST /room-fanout) — not direct-inject storm
11
9
  ```
12
10
 
13
11
  - CLI: `seatmesh room --help`
@@ -0,0 +1,13 @@
1
+ # seatmesh schedule
2
+
3
+ ```text
4
+ schedule <target> "<msg...>" --at <time>
5
+ Delayed one-shot peer — queues now, held out of drain until --at passes
6
+ (ISO time or relative duration: 10m, 2h, 1d). Fire-and-forget: no ACK
7
+ tracking opens until it's actually delivered.
8
+ Examples: schedule secretary "EOD digest" --at 6h · schedule slot-2 "follow up" --at 2026-09-20T09:00:00Z
9
+ ```
10
+
11
+ - CLI: `seatmesh schedule --help`
12
+ - Agent: `seatmesh agent help schedule`
13
+ - Catalog: [../COMMANDS.md#schedule](../COMMANDS.md#schedule)
@@ -1,7 +1,7 @@
1
1
  # seatmesh secretary
2
2
 
3
3
  ```text
4
- secretary start|status|digest|restart
4
+ secretary start|stop|status|digest|restart
5
5
  secretary supervise on [10m]|run|off
6
6
  secretary switch <cli> [--keep-resume]
7
7
  Lead supervise path (secretary→manager)
@@ -0,0 +1,13 @@
1
+ # seatmesh spawn
2
+
3
+ ```text
4
+ spawn <target> <agent|claude|opencode|kiro> [flags]
5
+ Empty shell → agent CLI (preferred vocal). Same engine as switch.
6
+ Replace live agent: switch. Resume configured: launch. See: help human
7
+ Examples: spawn slot-1 opencode · spawn here agent · spawn secretary opencode-cpe --keep-resume
8
+ ```
9
+
10
+ - CLI: `seatmesh spawn --help`
11
+ - Agent: `seatmesh agent help spawn`
12
+ - Catalog: [../COMMANDS.md#spawn](../COMMANDS.md#spawn)
13
+ - Related: [switch.md](switch.md) · [human.md](human.md) · [launch.md](launch.md)
@@ -2,13 +2,13 @@
2
2
 
3
3
  ```text
4
4
  switch <target> <agent|claude|opencode|kiro|empty> [flags] [reason...]
5
- HUMAN: empty terminal → agent CLI (or empty = back to shell).
6
- Alias: handoff. See: seatmesh help human
7
- Examples: switch slot-1 opencode · switch here claude · switch mini-2 empty
5
+ Replace a LIVE agent CLI (or → empty shell). Empty pane → prefer spawn.
6
+ Alias: handoff. Empty→CLI alias: spawn. See: seatmesh help human
7
+ Examples: switch slot-1 claude · switch here agent · switch mini-2 empty
8
8
  Flags: --keep-resume --resume ID --queue
9
9
  ```
10
10
 
11
11
  - CLI: `seatmesh switch --help`
12
12
  - Agent: `seatmesh agent help switch`
13
13
  - Catalog: [../COMMANDS.md#switch](../COMMANDS.md#switch)
14
- - Aliases: `cc`, `handoff`
14
+ - Related: [spawn.md](spawn.md) · [human.md](human.md)
@@ -93,23 +93,23 @@ Aliases: `notify info` · `notify md` · `notify details`
93
93
 
94
94
  Lead-only extras (manager/secretary) appear on your `agent` card — spawn/assign/inbox restart are not universal.
95
95
 
96
- ## OpenCode via CPE (`oc-proxy` kind)
96
+ ## OpenCode via CPE (`opencode-cpe` kind)
97
97
 
98
- **Kind** `oc-proxy` **extends** `opencode` — same inject provider, CPE launch wrapper.
98
+ **Kind** `opencode-cpe` **extends** `opencode` — same inject provider, CPE launch wrapper.
99
99
  Not bare `opencode` (`oc` / `opencode` = direct).
100
100
 
101
101
  ### Config (once per mesh)
102
102
 
103
103
  ```yaml
104
- # mesh.config.yaml — engine already emits oc-proxy extends opencode;
104
+ # mesh.config.yaml — engine already emits opencode-cpe extends opencode;
105
105
  # overlay only if you diverge:
106
106
  agents:
107
107
  kinds:
108
- oc-proxy:
108
+ opencode-cpe:
109
109
  launch: { command: scripts/opencode-cpe.sh }
110
110
  # legacy also works:
111
111
  # runners:
112
- # oc-proxy: scripts/opencode-cpe.sh
112
+ # opencode-cpe: scripts/opencode-cpe.sh
113
113
  connectivity:
114
114
  driver: cpe
115
115
  proxyPort: 18887
@@ -117,8 +117,8 @@ connectivity:
117
117
 
118
118
  | Default for… | Where |
119
119
  |--------------|--------|
120
- | Base columns (manager, secretary, …) | `layout.base.cli.<column-id>: oc-proxy` |
121
- | Minis / workers (launch default) | `.sm/mesh-agents.json` → `conventions.miniDefaultCli: oc-proxy` |
120
+ | Base columns (manager, secretary, …) | `layout.base.cli.<column-id>: opencode-cpe` |
121
+ | Minis / workers (launch default) | `.sm/mesh-agents.json` → `conventions.miniDefaultCli: opencode-cpe` |
122
122
 
123
123
  Validate: `sm config check`
124
124
 
@@ -127,8 +127,8 @@ Validate: `sm config check`
127
127
  **One path for every seat** — secretary, manager, `mini-N`, `slot-N`:
128
128
 
129
129
  ```bash
130
- sm switch <target> oc-proxy --keep-resume # keep saved session
131
- sm switch <target> oc-proxy --fresh # new session
130
+ sm switch <target> opencode-cpe --keep-resume # keep saved session
131
+ sm switch <target> opencode-cpe --fresh # new session
132
132
  sm launch minis # all minis (after miniDefaultCli set)
133
133
  sm launch secretary # coord (uses layout.base.cli)
134
134
  ```
@@ -140,7 +140,7 @@ Queue (inbox drains): add `--queue`.
140
140
  ### Stuck mid-build (`esc interrupt` / Build bar)
141
141
 
142
142
  **Do not** full pane restart. **Esc×3** → wait for composer idle → `sm agent whoami` or inbox cold-start.
143
- Full relaunch only when you need a new session: `sm switch <target> oc-proxy --fresh`.
143
+ Full relaunch only when you need a new session: `sm switch <target> opencode-cpe --fresh`.
144
144
 
145
145
  ## Outside `agent` (operator / shared)
146
146