@lmctl-ai/lmctl 0.1.93 → 0.1.95

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/CHANGELOG.md CHANGED
@@ -2,6 +2,36 @@
2
2
 
3
3
  All notable public-preview changes for `@lmctl-ai/lmctl` are recorded here.
4
4
 
5
+ ## 0.1.95 — 2026-07-10
6
+
7
+ - **Removed `I_am=` (and `--from`) entirely.** A member's identity now resolves **only** from
8
+ `LMCTL_SELF_SESSIONID`, which lmctl sets automatically on every member it spawns. Nothing a user
9
+ can type asserts an identity.
10
+ - **The identity marker is required exactly when lmctl must persist a sender** — i.e. when enqueueing
11
+ a mailbox message. Direct blocking calls need no identity, so **`lmctl chat`, `lmctl loop` and
12
+ `lmctl recover` now work from a plain operator shell with no flag**. Previously `--from`/`I_am=`
13
+ was mandatory for any operator-run chat, so this is strictly more usable than before.
14
+ - **`lmctl send` to a busy target without a marker now returns `busy`** (try later) instead of an
15
+ error, and enqueues nothing. An operator cannot queue: it has no `lmctl wait` to be woken.
16
+ - **Fixed `lmctl recover`.** It drives only idle members and no longer demands a caller identity.
17
+ - **MCP stale-bridge cleanup is shape-gated.** A stale `lmctl`/`lmctl0` bridge is removed only when
18
+ **both** the server name and the command shape (`lmctl mcp`) match, so an unrelated MCP server you
19
+ configured yourself is never deleted. Cleanup now also runs on `seed`. The `from` parameter was
20
+ removed from the `lmctl_chat` MCP tool schema.
21
+ - **Migration v46:** `team_chat_log` sender columns are nullable (operator-origin turns record no
22
+ sender). The migration is guarded — it rebuilds only when the table exists and never throws.
23
+
24
+ ## 0.1.94 — 2026-07-08
25
+
26
+ - **Debug diagnostics now write only to the debug log file.** YOLO spawn
27
+ diagnostics and CLI startup breadcrumbs append to `~/.lmctl/debug-*.log`
28
+ instead of printing `[debug]` lines to stdout/stderr.
29
+
30
+ - **Removed `lmctl chat --force`.** The flag defeated terminal-lock and
31
+ in-flight safeguards by forcing a chat into a session already held by a live
32
+ process. Dead/stale holders now auto-reclaim without an option; live holders
33
+ should be reached with liveness-aware `lmctl send`.
34
+
5
35
  ## 0.1.93 — 2026-07-08
6
36
 
7
37
  - **Replaced `--from` with `I_am=<teamfile:alias>`.** Agent-origin commands now
@@ -121,7 +151,7 @@ All notable public-preview changes for `@lmctl-ai/lmctl` are recorded here.
121
151
 
122
152
  - **`lmctl terminal` takes a DB lock** (host + pid + heartbeat) so a second chat
123
153
  to a member held live in a terminal is rejected instead of racing; a stale/dead
124
- or remote lock is reclaimed safely, and `--force` overrides.
154
+ or remote lock is reclaimed safely.
125
155
  - **`--detach` is hidden from the CLI surface.** It stays functional for AI-team
126
156
  chat but is the codex/gemini-only fallback; other providers use their native
127
157
  tracked-background path.
package/README.md CHANGED
@@ -65,7 +65,7 @@ Lintable teamfile templates for research, writing, and review teams ship in the
65
65
  [documentation](https://lmctl.com/lmctl) to define your first team.
66
66
 
67
67
  - `lmctl send <teamfile> <alias> "message"` messages a Lead; enqueues if it is up, falls back to chat if down.
68
- - `lmctl recv [I_am=<teamfile:alias>]` drains the calling Lead's mailbox consume-on-read.
68
+ - `lmctl recv` drains the calling Lead's mailbox consume-on-read, inferred from `LMCTL_SELF_SESSIONID`.
69
69
 
70
70
  ## Model selection
71
71